From 97973546416c9d04b518c1b9572815b42872400f Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Thu, 12 Dec 2013 15:39:05 +0000 Subject: [PATCH] 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 --- lib/Driver/Tools.cpp | 7 ++++--- lib/Driver/Tools.h | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) 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); -- 2.40.0