From: Rafael Espindola Date: Thu, 12 Dec 2013 15:39:05 +0000 (+0000) Subject: Don't return a pointer to a temporary std::string's c_str. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=97973546416c9d04b518c1b9572815b42872400f;p=clang Don't return a pointer to a temporary std::string's c_str. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197157 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 74cd393775..99f62fa3c0 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -4532,8 +4532,9 @@ const char *arm::getARMCPUForMArch(const ArgList &Args, : "arm7tdmi"; } +/// FIXME: this should return a stringref once getHostCPUName return one. /// getARMTargetCPU - Get the (LLVM) name of the ARM cpu we are targeting. -const char *arm::getARMTargetCPU(const ArgList &Args, +std::string arm::getARMTargetCPU(const ArgList &Args, const llvm::Triple &Triple) { // FIXME: Warn on inconsistent use of -mcpu and -march. // If we have -mcpu=, use that. @@ -4541,9 +4542,9 @@ const char *arm::getARMTargetCPU(const ArgList &Args, StringRef MCPU = A->getValue(); // Handle -mcpu=native. if (MCPU == "native") - return llvm::sys::getHostCPUName().c_str(); + return llvm::sys::getHostCPUName(); else - return MCPU.str().c_str(); + return MCPU.str(); } return getARMCPUForMArch(Args, Triple); diff --git a/lib/Driver/Tools.h b/lib/Driver/Tools.h index 562352f035..c6da145ce3 100644 --- a/lib/Driver/Tools.h +++ b/lib/Driver/Tools.h @@ -202,7 +202,7 @@ namespace hexagon { } // end namespace hexagon. namespace arm { - const char* getARMTargetCPU(const llvm::opt::ArgList &Args, + std::string getARMTargetCPU(const llvm::opt::ArgList &Args, const llvm::Triple &Triple); const char* getARMCPUForMArch(const llvm::opt::ArgList &Args, const llvm::Triple &Triple);