From b8246847585842efbdbfbc40c045c183ff964c10 Mon Sep 17 00:00:00 2001 From: Alexander Kornienko Date: Tue, 4 Jul 2017 15:13:02 +0000 Subject: [PATCH] Fix dangling StringRefs found by clang-tidy misc-dangling-handle check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@307085 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/llvm-lto/llvm-lto.cpp | 6 +++--- tools/llvm-readobj/COFFDumper.cpp | 6 +++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/tools/llvm-lto/llvm-lto.cpp b/tools/llvm-lto/llvm-lto.cpp index ccc673be457..87cd13ad70d 100644 --- a/tools/llvm-lto/llvm-lto.cpp +++ b/tools/llvm-lto/llvm-lto.cpp @@ -383,7 +383,7 @@ loadAllFilesForIndex(const ModuleSummaryIndex &Index) { for (auto &ModPath : Index.modulePaths()) { const auto &Filename = ModPath.first(); - auto CurrentActivity = "loading file '" + Filename + "'"; + std::string CurrentActivity = ("loading file '" + Filename + "'").str(); auto InputOrErr = MemoryBuffer::getFile(Filename); error(InputOrErr, "error " + CurrentActivity); InputBuffers.push_back(std::move(*InputOrErr)); @@ -475,7 +475,7 @@ private: std::vector> InputBuffers; for (unsigned i = 0; i < InputFilenames.size(); ++i) { auto &Filename = InputFilenames[i]; - StringRef CurrentActivity = "loading file '" + Filename + "'"; + std::string CurrentActivity = "loading file '" + Filename + "'"; auto InputOrErr = MemoryBuffer::getFile(Filename); error(InputOrErr, "error " + CurrentActivity); InputBuffers.push_back(std::move(*InputOrErr)); @@ -710,7 +710,7 @@ private: std::vector> InputBuffers; for (unsigned i = 0; i < InputFilenames.size(); ++i) { auto &Filename = InputFilenames[i]; - StringRef CurrentActivity = "loading file '" + Filename + "'"; + std::string CurrentActivity = "loading file '" + Filename + "'"; auto InputOrErr = MemoryBuffer::getFile(Filename); error(InputOrErr, "error " + CurrentActivity); InputBuffers.push_back(std::move(*InputOrErr)); diff --git a/tools/llvm-readobj/COFFDumper.cpp b/tools/llvm-readobj/COFFDumper.cpp index e5ff3e4186d..9fb3267e2f9 100644 --- a/tools/llvm-readobj/COFFDumper.cpp +++ b/tools/llvm-readobj/COFFDumper.cpp @@ -1637,7 +1637,11 @@ static StringRef getBaseRelocTypeName(uint8_t Type) { case COFF::IMAGE_REL_BASED_HIGHADJ: return "HIGHADJ"; case COFF::IMAGE_REL_BASED_ARM_MOV32T: return "ARM_MOV32(T)"; case COFF::IMAGE_REL_BASED_DIR64: return "DIR64"; - default: return "unknown (" + llvm::utostr(Type) + ")"; + default: { + static std::string Result; + Result = "unknown (" + llvm::utostr(Type) + ")"; + return Result; + } } } -- 2.40.0