diff options
Diffstat (limited to 'llvm/tools')
69 files changed, 232 insertions, 196 deletions
diff --git a/llvm/tools/bugpoint/CrashDebugger.cpp b/llvm/tools/bugpoint/CrashDebugger.cpp index aa88a06..73ff1dc 100644 --- a/llvm/tools/bugpoint/CrashDebugger.cpp +++ b/llvm/tools/bugpoint/CrashDebugger.cpp @@ -1216,7 +1216,7 @@ static Error DebugACrash(BugDriver &BD, BugTester TestFn) { // For each remaining function, try to reduce that function's attributes. std::vector<std::string> FunctionNames; for (Function &F : BD.getProgram()) - FunctionNames.push_back(F.getName()); + FunctionNames.push_back(std::string(F.getName())); if (!FunctionNames.empty() && !BugpointIsInterrupted) { outs() << "\n*** Attempting to reduce the number of function attributes" diff --git a/llvm/tools/bugpoint/ExecutionDriver.cpp b/llvm/tools/bugpoint/ExecutionDriver.cpp index 40f198b..4c83a95 100644 --- a/llvm/tools/bugpoint/ExecutionDriver.cpp +++ b/llvm/tools/bugpoint/ExecutionDriver.cpp @@ -311,7 +311,7 @@ Expected<std::string> BugDriver::executeProgram(const Module &Program, << "!\n"; exit(1); } - BitcodeFile = UniqueFilename.str(); + BitcodeFile = std::string(UniqueFilename.str()); if (writeProgramToFile(BitcodeFile, UniqueFD, Program)) { errs() << ToolName << ": Error emitting bitcode to file '" << BitcodeFile @@ -336,7 +336,7 @@ Expected<std::string> BugDriver::executeProgram(const Module &Program, << "\n"; exit(1); } - OutputFile = UniqueFile.str(); + OutputFile = std::string(UniqueFile.str()); // Figure out which shared objects to run, if any. std::vector<std::string> SharedObjs(AdditionalSOs); diff --git a/llvm/tools/bugpoint/Miscompilation.cpp b/llvm/tools/bugpoint/Miscompilation.cpp index 1621a51..c5c51c8 100644 --- a/llvm/tools/bugpoint/Miscompilation.cpp +++ b/llvm/tools/bugpoint/Miscompilation.cpp @@ -953,7 +953,8 @@ static Expected<bool> TestCodeGenerator(BugDriver &BD, << "Error making unique filename: " << EC.message() << "\n"; exit(1); } - if (BD.writeProgramToFile(TestModuleBC.str(), TestModuleFD, *Test)) { + if (BD.writeProgramToFile(std::string(TestModuleBC.str()), TestModuleFD, + *Test)) { errs() << "Error writing bitcode to `" << TestModuleBC.str() << "'\nExiting."; exit(1); @@ -972,7 +973,8 @@ static Expected<bool> TestCodeGenerator(BugDriver &BD, exit(1); } - if (BD.writeProgramToFile(SafeModuleBC.str(), SafeModuleFD, *Safe)) { + if (BD.writeProgramToFile(std::string(SafeModuleBC.str()), SafeModuleFD, + *Safe)) { errs() << "Error writing bitcode to `" << SafeModuleBC << "'\nExiting."; exit(1); } @@ -980,7 +982,7 @@ static Expected<bool> TestCodeGenerator(BugDriver &BD, FileRemover SafeModuleBCRemover(SafeModuleBC.str(), !SaveTemps); Expected<std::string> SharedObject = - BD.compileSharedObject(SafeModuleBC.str()); + BD.compileSharedObject(std::string(SafeModuleBC.str())); if (Error E = SharedObject.takeError()) return std::move(E); @@ -988,8 +990,8 @@ static Expected<bool> TestCodeGenerator(BugDriver &BD, // Run the code generator on the `Test' code, loading the shared library. // The function returns whether or not the new output differs from reference. - Expected<bool> Result = - BD.diffProgram(BD.getProgram(), TestModuleBC.str(), *SharedObject, false); + Expected<bool> Result = BD.diffProgram( + BD.getProgram(), std::string(TestModuleBC.str()), *SharedObject, false); if (Error E = Result.takeError()) return std::move(E); @@ -1046,7 +1048,8 @@ Error BugDriver::debugCodeGenerator() { exit(1); } - if (writeProgramToFile(TestModuleBC.str(), TestModuleFD, *ToCodeGen)) { + if (writeProgramToFile(std::string(TestModuleBC.str()), TestModuleFD, + *ToCodeGen)) { errs() << "Error writing bitcode to `" << TestModuleBC << "'\nExiting."; exit(1); } @@ -1062,11 +1065,13 @@ Error BugDriver::debugCodeGenerator() { exit(1); } - if (writeProgramToFile(SafeModuleBC.str(), SafeModuleFD, *ToNotCodeGen)) { + if (writeProgramToFile(std::string(SafeModuleBC.str()), SafeModuleFD, + *ToNotCodeGen)) { errs() << "Error writing bitcode to `" << SafeModuleBC << "'\nExiting."; exit(1); } - Expected<std::string> SharedObject = compileSharedObject(SafeModuleBC.str()); + Expected<std::string> SharedObject = + compileSharedObject(std::string(SafeModuleBC.str())); if (Error E = SharedObject.takeError()) return E; diff --git a/llvm/tools/bugpoint/OptimizerDriver.cpp b/llvm/tools/bugpoint/OptimizerDriver.cpp index 64af81f..25a970b 100644 --- a/llvm/tools/bugpoint/OptimizerDriver.cpp +++ b/llvm/tools/bugpoint/OptimizerDriver.cpp @@ -141,7 +141,7 @@ bool BugDriver::runPasses(Module &Program, << ": Error making unique filename: " << EC.message() << "\n"; return 1; } - OutputFilename = UniqueFilename.str(); + OutputFilename = std::string(UniqueFilename.str()); // set up the input file name Expected<sys::fs::TempFile> Temp = diff --git a/llvm/tools/bugpoint/ToolRunner.cpp b/llvm/tools/bugpoint/ToolRunner.cpp index 19b2ea2..d880aca 100644 --- a/llvm/tools/bugpoint/ToolRunner.cpp +++ b/llvm/tools/bugpoint/ToolRunner.cpp @@ -442,7 +442,7 @@ Expected<CC::FileType> LLC::OutputCode(const std::string &Bitcode, errs() << "Error making unique filename: " << EC.message() << "\n"; exit(1); } - OutputAsmFile = UniqueFile.str(); + OutputAsmFile = std::string(UniqueFile.str()); std::vector<StringRef> LLCArgs; LLCArgs.push_back(LLCPath); @@ -772,7 +772,7 @@ Error CC::MakeSharedObject(const std::string &InputFile, FileType fileType, errs() << "Error making unique filename: " << EC.message() << "\n"; exit(1); } - OutputFile = UniqueFilename.str(); + OutputFile = std::string(UniqueFilename.str()); std::vector<StringRef> CCArgs; diff --git a/llvm/tools/bugpoint/ToolRunner.h b/llvm/tools/bugpoint/ToolRunner.h index dde4ec5..f6b5f26 100644 --- a/llvm/tools/bugpoint/ToolRunner.h +++ b/llvm/tools/bugpoint/ToolRunner.h @@ -40,7 +40,7 @@ class CC { std::vector<std::string> ccArgs; // CC-specific arguments. CC(StringRef ccPath, StringRef RemotePath, const std::vector<std::string> *CCArgs) - : CCPath(ccPath), RemoteClientPath(RemotePath) { + : CCPath(std::string(ccPath)), RemoteClientPath(std::string(RemotePath)) { if (CCArgs) ccArgs = *CCArgs; } diff --git a/llvm/tools/bugpoint/bugpoint.cpp b/llvm/tools/bugpoint/bugpoint.cpp index d29a79e..937ec232 100644 --- a/llvm/tools/bugpoint/bugpoint.cpp +++ b/llvm/tools/bugpoint/bugpoint.cpp @@ -110,7 +110,7 @@ public: void add(Pass *P) override { const void *ID = P->getPassID(); const PassInfo *PI = PassRegistry::getPassRegistry()->getPassInfo(ID); - D.addPass(PI->getPassArgument()); + D.addPass(std::string(PI->getPassArgument())); } }; } @@ -221,7 +221,7 @@ int main(int argc, char **argv) { AddOptimizationPasses(PM, 2, 2); for (const PassInfo *PI : PassList) - D.addPass(PI->getPassArgument()); + D.addPass(std::string(PI->getPassArgument())); // Bugpoint has the ability of generating a plethora of core files, so to // avoid filling up the disk, we prevent it diff --git a/llvm/tools/dsymutil/BinaryHolder.cpp b/llvm/tools/dsymutil/BinaryHolder.cpp index da4ed8a..31d32d8 100644 --- a/llvm/tools/dsymutil/BinaryHolder.cpp +++ b/llvm/tools/dsymutil/BinaryHolder.cpp @@ -66,7 +66,7 @@ Error BinaryHolder::ArchiveEntry::load(StringRef Filename, ArchiveBuffers.push_back(MemBuffer->getMemBufferRef()); } else { FatBinary = std::move(*ErrOrFat); - FatBinaryName = ArchiveFilename; + FatBinaryName = std::string(ArchiveFilename); ArchiveBuffers = getMachOFatMemoryBuffers(FatBinaryName, *MemBuffer, *FatBinary); } @@ -105,7 +105,7 @@ Error BinaryHolder::ObjectEntry::load(StringRef Filename, bool Verbose) { ObjectBuffers.push_back(MemBuffer->getMemBufferRef()); } else { FatBinary = std::move(*ErrOrFat); - FatBinaryName = Filename; + FatBinaryName = std::string(Filename); ObjectBuffers = getMachOFatMemoryBuffers(FatBinaryName, *MemBuffer, *FatBinary); } diff --git a/llvm/tools/dsymutil/DebugMap.cpp b/llvm/tools/dsymutil/DebugMap.cpp index 83dddfe..4106710 100644 --- a/llvm/tools/dsymutil/DebugMap.cpp +++ b/llvm/tools/dsymutil/DebugMap.cpp @@ -41,7 +41,7 @@ using namespace llvm::object; DebugMapObject::DebugMapObject(StringRef ObjectFilename, sys::TimePoint<std::chrono::seconds> Timestamp, uint8_t Type) - : Filename(ObjectFilename), Timestamp(Timestamp), Type(Type) {} + : Filename(std::string(ObjectFilename)), Timestamp(Timestamp), Type(Type) {} bool DebugMapObject::addSymbol(StringRef Name, Optional<uint64_t> ObjectAddress, uint64_t LinkedAddress, uint32_t Size) { @@ -228,7 +228,8 @@ MappingTraits<dsymutil::DebugMapObject>::YamlDMO::YamlDMO( Timestamp = sys::toTimeT(Obj.getTimestamp()); Entries.reserve(Obj.Symbols.size()); for (auto &Entry : Obj.Symbols) - Entries.push_back(std::make_pair(Entry.getKey(), Entry.getValue())); + Entries.push_back( + std::make_pair(std::string(Entry.getKey()), Entry.getValue())); } dsymutil::DebugMapObject diff --git a/llvm/tools/dsymutil/DebugMap.h b/llvm/tools/dsymutil/DebugMap.h index 6c0cb8b..ee552ed 100644 --- a/llvm/tools/dsymutil/DebugMap.h +++ b/llvm/tools/dsymutil/DebugMap.h @@ -90,7 +90,7 @@ class DebugMap { public: DebugMap(const Triple &BinaryTriple, StringRef BinaryPath, ArrayRef<uint8_t> BinaryUUID = ArrayRef<uint8_t>()) - : BinaryTriple(BinaryTriple), BinaryPath(BinaryPath), + : BinaryTriple(BinaryTriple), BinaryPath(std::string(BinaryPath)), BinaryUUID(BinaryUUID.begin(), BinaryUUID.end()) {} using const_iterator = ObjectContainer::const_iterator; @@ -183,7 +183,9 @@ public: bool empty() const { return Symbols.empty(); } - void addWarning(StringRef Warning) { Warnings.push_back(Warning); } + void addWarning(StringRef Warning) { + Warnings.push_back(std::string(Warning)); + } const std::vector<std::string> &getWarnings() const { return Warnings; } void print(raw_ostream &OS) const; diff --git a/llvm/tools/dsymutil/MachODebugMapParser.cpp b/llvm/tools/dsymutil/MachODebugMapParser.cpp index 3292e94..83703fb 100644 --- a/llvm/tools/dsymutil/MachODebugMapParser.cpp +++ b/llvm/tools/dsymutil/MachODebugMapParser.cpp @@ -26,9 +26,10 @@ public: MachODebugMapParser(StringRef BinaryPath, ArrayRef<std::string> Archs, StringRef PathPrefix = "", bool PaperTrailWarnings = false, bool Verbose = false) - : BinaryPath(BinaryPath), Archs(Archs.begin(), Archs.end()), - PathPrefix(PathPrefix), PaperTrailWarnings(PaperTrailWarnings), - BinHolder(Verbose), CurrentDebugMapObject(nullptr) {} + : BinaryPath(std::string(BinaryPath)), Archs(Archs.begin(), Archs.end()), + PathPrefix(std::string(PathPrefix)), + PaperTrailWarnings(PaperTrailWarnings), BinHolder(Verbose), + CurrentDebugMapObject(nullptr) {} /// Parses and returns the DebugMaps of the input binary. The binary contains /// multiple maps in case it is a universal binary. @@ -181,7 +182,7 @@ void MachODebugMapParser::switchToNewDebugMapObject( static std::string getArchName(const object::MachOObjectFile &Obj) { Triple T = Obj.getArchTriple(); - return T.getArchName(); + return std::string(T.getArchName()); } std::unique_ptr<DebugMap> @@ -497,7 +498,7 @@ void MachODebugMapParser::loadCurrentObjectFileSymbols( CurrentObjectAddresses[*Name] = None; } else if (Flags & SymbolRef::SF_Common) { CurrentObjectAddresses[*Name] = None; - CommonSymbols.push_back(*Name); + CommonSymbols.push_back(std::string(*Name)); } else { CurrentObjectAddresses[*Name] = Addr; } diff --git a/llvm/tools/dsymutil/MachOUtils.cpp b/llvm/tools/dsymutil/MachOUtils.cpp index 149905f..f9219dc 100644 --- a/llvm/tools/dsymutil/MachOUtils.cpp +++ b/llvm/tools/dsymutil/MachOUtils.cpp @@ -50,7 +50,7 @@ ArchAndFile::~ArchAndFile() { std::string getArchName(StringRef Arch) { if (Arch.startswith("thumb")) return (llvm::Twine("arm") + Arch.drop_front(5)).str(); - return Arch; + return std::string(Arch); } static bool runLipo(StringRef SDKPath, SmallVectorImpl<StringRef> &Args) { diff --git a/llvm/tools/dsymutil/MachOUtils.h b/llvm/tools/dsymutil/MachOUtils.h index 3dda747..f64fc68 100644 --- a/llvm/tools/dsymutil/MachOUtils.h +++ b/llvm/tools/dsymutil/MachOUtils.h @@ -30,7 +30,7 @@ struct ArchAndFile { llvm::Error createTempFile(); llvm::StringRef path() const; - ArchAndFile(StringRef Arch) : Arch(Arch) {} + ArchAndFile(StringRef Arch) : Arch(std::string(Arch)) {} ArchAndFile(ArchAndFile &&A) = default; ArchAndFile &operator=(ArchAndFile &&A) = default; ~ArchAndFile(); diff --git a/llvm/tools/dsymutil/dsymutil.cpp b/llvm/tools/dsymutil/dsymutil.cpp index 2801178..6b26081 100644 --- a/llvm/tools/dsymutil/dsymutil.cpp +++ b/llvm/tools/dsymutil/dsymutil.cpp @@ -299,9 +299,9 @@ static Error createPlistFile(StringRef Bin, StringRef BundleRoot, if (BI.IDStr.empty()) { StringRef BundleID = *sys::path::rbegin(BundleRoot); if (sys::path::extension(BundleRoot) == ".dSYM") - BI.IDStr = sys::path::stem(BundleID); + BI.IDStr = std::string(sys::path::stem(BundleID)); else - BI.IDStr = BundleID; + BI.IDStr = std::string(BundleID); } // Print out information to the plist file. @@ -405,7 +405,7 @@ getOutputFileName(StringRef InputFile, const DsymutilOptions &Options) { // When updating, do in place replacement. if (Options.OutputFile.empty() && (Options.LinkOpts.Update || !Options.SymbolMap.empty())) - return OutputLocation(InputFile); + return OutputLocation(std::string(InputFile)); // If a flat dSYM has been requested, things are pretty simple. if (Options.Flat) { @@ -426,7 +426,8 @@ getOutputFileName(StringRef InputFile, const DsymutilOptions &Options) { // Resources/ // DWARF/ // <DWARF file(s)> - std::string DwarfFile = InputFile == "-" ? StringRef("a.out") : InputFile; + std::string DwarfFile = + std::string(InputFile == "-" ? StringRef("a.out") : InputFile); SmallString<128> Path(Options.OutputFile); if (Path.empty()) Path = DwarfFile + ".dSYM"; @@ -438,9 +439,9 @@ getOutputFileName(StringRef InputFile, const DsymutilOptions &Options) { } sys::path::append(Path, "Contents", "Resources"); - std::string ResourceDir = Path.str(); + std::string ResourceDir = std::string(Path.str()); sys::path::append(Path, "DWARF", sys::path::filename(DwarfFile)); - return OutputLocation(Path.str(), ResourceDir); + return OutputLocation(std::string(Path.str()), ResourceDir); } int main(int argc, char **argv) { @@ -455,7 +456,7 @@ int main(int argc, char **argv) { void *P = (void *)(intptr_t)getOutputFileName; std::string SDKPath = sys::fs::getMainExecutable(argv[0], P); - SDKPath = sys::path::parent_path(SDKPath); + SDKPath = std::string(sys::path::parent_path(SDKPath)); for (auto *Arg : Args.filtered(OPT_UNKNOWN)) { WithColor::warning() << "ignoring unknown option: " << Arg->getSpelling() diff --git a/llvm/tools/gold/gold-plugin.cpp b/llvm/tools/gold/gold-plugin.cpp index 93e9b60..f5d47d6 100644 --- a/llvm/tools/gold/gold-plugin.cpp +++ b/llvm/tools/gold/gold-plugin.cpp @@ -224,13 +224,14 @@ namespace options { llvm::StringRef opt = opt_; if (opt.startswith("mcpu=")) { - mcpu = opt.substr(strlen("mcpu=")); + mcpu = std::string(opt.substr(strlen("mcpu="))); } else if (opt.startswith("extra-library-path=")) { - extra_library_path = opt.substr(strlen("extra_library_path=")); + extra_library_path = + std::string(opt.substr(strlen("extra_library_path="))); } else if (opt.startswith("mtriple=")) { - triple = opt.substr(strlen("mtriple=")); + triple = std::string(opt.substr(strlen("mtriple="))); } else if (opt.startswith("obj-path=")) { - obj_path = opt.substr(strlen("obj-path=")); + obj_path = std::string(opt.substr(strlen("obj-path="))); } else if (opt == "emit-llvm") { TheOutputType = OT_BC_ONLY; } else if (opt == "save-temps") { @@ -245,23 +246,25 @@ namespace options { thinlto_index_only = true; } else if (opt.startswith("thinlto-index-only=")) { thinlto_index_only = true; - thinlto_linked_objects_file = opt.substr(strlen("thinlto-index-only=")); + thinlto_linked_objects_file = + std::string(opt.substr(strlen("thinlto-index-only="))); } else if (opt == "thinlto-emit-imports-files") { thinlto_emit_imports_files = true; } else if (opt.startswith("thinlto-prefix-replace=")) { - thinlto_prefix_replace = opt.substr(strlen("thinlto-prefix-replace=")); + thinlto_prefix_replace = + std::string(opt.substr(strlen("thinlto-prefix-replace="))); if (thinlto_prefix_replace.find(';') == std::string::npos) message(LDPL_FATAL, "thinlto-prefix-replace expects 'old;new' format"); } else if (opt.startswith("thinlto-object-suffix-replace=")) { thinlto_object_suffix_replace = - opt.substr(strlen("thinlto-object-suffix-replace=")); + std::string(opt.substr(strlen("thinlto-object-suffix-replace="))); if (thinlto_object_suffix_replace.find(';') == std::string::npos) message(LDPL_FATAL, "thinlto-object-suffix-replace expects 'old;new' format"); } else if (opt.startswith("cache-dir=")) { - cache_dir = opt.substr(strlen("cache-dir=")); + cache_dir = std::string(opt.substr(strlen("cache-dir="))); } else if (opt.startswith("cache-policy=")) { - cache_policy = opt.substr(strlen("cache-policy=")); + cache_policy = std::string(opt.substr(strlen("cache-policy="))); } else if (opt.size() == 2 && opt[0] == 'O') { if (opt[1] < '0' || opt[1] > '3') message(LDPL_FATAL, "Optimization level must be between 0 and 3"); @@ -689,7 +692,7 @@ static std::string getThinLTOObjectFileName(StringRef Path, StringRef OldSuffix, StringRef NewSuffix) { if (Path.consume_back(OldSuffix)) return (Path + NewSuffix).str(); - return Path; + return std::string(Path); } // Returns true if S is valid as a C language identifier. @@ -1074,8 +1077,9 @@ static std::vector<std::pair<SmallString<128>, bool>> runLTO() { if (options::thinlto_index_only) for (auto &Identifier : ObjectToIndexFileState) if (!Identifier.getValue()) - writeEmptyDistributedBuildOutputs(Identifier.getKey(), OldPrefix, - NewPrefix, /* SkipModule */ false); + writeEmptyDistributedBuildOutputs(std::string(Identifier.getKey()), + OldPrefix, NewPrefix, + /* SkipModule */ false); return Files; } @@ -1105,7 +1109,7 @@ static ld_plugin_status allSymbolsReadHook() { for (const auto &F : Files) if (!F.first.empty()) - recordFile(F.first.str(), F.second); + recordFile(std::string(F.first.str()), F.second); if (!options::extra_library_path.empty() && set_extra_library_path(options::extra_library_path.c_str()) != LDPS_OK) diff --git a/llvm/tools/llc/llc.cpp b/llvm/tools/llc/llc.cpp index 0cf6513..50942df 100644 --- a/llvm/tools/llc/llc.cpp +++ b/llvm/tools/llc/llc.cpp @@ -171,7 +171,7 @@ struct RunPassOption { SmallVector<StringRef, 8> PassNames; StringRef(Val).split(PassNames, ',', -1, false); for (auto PassName : PassNames) - RunPassNames->push_back(PassName); + RunPassNames->push_back(std::string(PassName)); } }; } @@ -196,11 +196,11 @@ static std::unique_ptr<ToolOutputFile> GetOutputStream(const char *TargetName, // If InputFilename ends in .bc or .ll, remove it. StringRef IFN = InputFilename; if (IFN.endswith(".bc") || IFN.endswith(".ll")) - OutputFilename = IFN.drop_back(3); + OutputFilename = std::string(IFN.drop_back(3)); else if (IFN.endswith(".mir")) - OutputFilename = IFN.drop_back(4); + OutputFilename = std::string(IFN.drop_back(4)); else - OutputFilename = IFN; + OutputFilename = std::string(IFN); switch (FileType) { case CGFT_AssemblyFile: diff --git a/llvm/tools/lli/lli.cpp b/llvm/tools/lli/lli.cpp index 3bf694ab..a0d7a8c 100644 --- a/llvm/tools/lli/lli.cpp +++ b/llvm/tools/lli/lli.cpp @@ -714,7 +714,7 @@ static std::function<void(Module &)> createDebugDumper() { continue; if (F.hasName()) { - std::string Name(F.getName()); + std::string Name(std::string(F.getName())); printf("%s ", Name.c_str()); } else printf("<anon> "); diff --git a/llvm/tools/llvm-ar/llvm-ar.cpp b/llvm/tools/llvm-ar/llvm-ar.cpp index c339dfe..61ab805 100644 --- a/llvm/tools/llvm-ar/llvm-ar.cpp +++ b/llvm/tools/llvm-ar/llvm-ar.cpp @@ -650,7 +650,7 @@ static void addChildMember(std::vector<NewArchiveMember> &Members, // the archive it's in, so the file resolves correctly. if (Thin && FlattenArchive) { StringSaver Saver(Alloc); - Expected<std::string> FileNameOrErr = M.getName(); + Expected<std::string> FileNameOrErr(M.getName()); failIfError(FileNameOrErr.takeError()); if (sys::path::is_absolute(*FileNameOrErr)) { NMOrErr->MemberName = Saver.save(sys::path::convert_to_slash(*FileNameOrErr)); @@ -792,7 +792,7 @@ computeNewArchiveMembers(ArchiveOperation Operation, int Pos = Ret.size(); Expected<StringRef> NameOrErr = Child.getName(); failIfError(NameOrErr.takeError()); - std::string Name = NameOrErr.get(); + std::string Name = std::string(NameOrErr.get()); if (comparePaths(Name, RelPos)) { assert(AddAfter || AddBefore); if (AddBefore) @@ -1058,7 +1058,7 @@ static void runMRIScript() { fail("editing multiple archives not supported"); if (Saved) fail("file already saved"); - ArchiveName = Rest; + ArchiveName = std::string(Rest); break; case MRICommand::Delete: { llvm::erase_if(NewMembers, [=](NewArchiveMember &M) { diff --git a/llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp b/llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp index 7ae4d0d..d2b4db3b5 100644 --- a/llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp +++ b/llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp @@ -274,7 +274,8 @@ Expected<DIInliningInfo> FileAnalysis::symbolizeInlinedCode(object::SectionedAddress Address) { assert(Symbolizer != nullptr && "Symbolizer is invalid."); - return Symbolizer->symbolizeInlinedCode(Object->getFileName(), Address); + return Symbolizer->symbolizeInlinedCode(std::string(Object->getFileName()), + Address); } CFIProtectionStatus @@ -515,8 +516,9 @@ void FileAnalysis::parseSectionContents(ArrayRef<uint8_t> SectionBytes, // Check if this instruction exists in the range of the DWARF metadata. if (!IgnoreDWARFFlag) { - auto LineInfo = Symbolizer->symbolizeCode( - Object->getFileName(), {VMAddress, Address.SectionIndex}); + auto LineInfo = + Symbolizer->symbolizeCode(std::string(Object->getFileName()), + {VMAddress, Address.SectionIndex}); if (!LineInfo) { handleAllErrors(LineInfo.takeError(), [](const ErrorInfoBase &E) { errs() << "Symbolizer failed to get line: " << E.message() << "\n"; @@ -577,7 +579,8 @@ Error FileAnalysis::parseSymbolTable() { return Error::success(); } -UnsupportedDisassembly::UnsupportedDisassembly(StringRef Text) : Text(Text) {} +UnsupportedDisassembly::UnsupportedDisassembly(StringRef Text) + : Text(std::string(Text)) {} char UnsupportedDisassembly::ID; void UnsupportedDisassembly::log(raw_ostream &OS) const { diff --git a/llvm/tools/llvm-config/llvm-config.cpp b/llvm/tools/llvm-config/llvm-config.cpp index 6c31df3..df45c38 100644 --- a/llvm/tools/llvm-config/llvm-config.cpp +++ b/llvm/tools/llvm-config/llvm-config.cpp @@ -338,7 +338,7 @@ int main(int argc, char **argv) { ActiveIncludeDir = ActivePrefix + "/include"; SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR)); sys::fs::make_absolute(ActivePrefix, path); - ActiveBinDir = path.str(); + ActiveBinDir = std::string(path.str()); ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; ActiveCMakeDir = ActiveLibDir + "/cmake/llvm"; ActiveIncludeOption = "-I" + ActiveIncludeDir; @@ -352,7 +352,8 @@ int main(int argc, char **argv) { /// in the first place. This can't be done at configure/build time. StringRef SharedExt, SharedVersionedExt, SharedDir, SharedPrefix, StaticExt, - StaticPrefix, StaticDir = "lib", DirSep = "/"; + StaticPrefix, StaticDir = "lib"; + std::string DirSep = "/"; const Triple HostTriple(Triple::normalize(LLVM_HOST_TRIPLE)); if (HostTriple.isOSWindows()) { SharedExt = "dll"; @@ -449,7 +450,7 @@ int main(int argc, char **argv) { // already has the necessary prefix and suffix (e.g. `.so`) added so // just return it unmodified. assert(Lib.endswith(SharedExt) && "DyLib is missing suffix"); - LibFileName = Lib; + LibFileName = std::string(Lib); } else { LibFileName = (SharedPrefix + Lib + "." + SharedExt).str(); } diff --git a/llvm/tools/llvm-cov/CodeCoverage.cpp b/llvm/tools/llvm-cov/CodeCoverage.cpp index 5f1e23f2..4444fe6 100644 --- a/llvm/tools/llvm-cov/CodeCoverage.cpp +++ b/llvm/tools/llvm-cov/CodeCoverage.cpp @@ -413,7 +413,8 @@ void CodeCoverageTool::remapPathNames(const CoverageMapping &Coverage) { // Convert input files from local paths to coverage data file paths. StringMap<std::string> InvRemappedFilenames; for (const auto &RemappedFilename : RemappedFilenames) - InvRemappedFilenames[RemappedFilename.getValue()] = RemappedFilename.getKey(); + InvRemappedFilenames[RemappedFilename.getValue()] = + std::string(RemappedFilename.getKey()); for (std::string &Filename : SourceFiles) { SmallString<128> NativeFilename; @@ -510,7 +511,7 @@ void CodeCoverageTool::demangleSymbols(const CoverageMapping &Coverage) { for (const auto &Function : Coverage.getCoveredFunctions()) // On Windows, lines in the demangler's output file end with "\r\n". // Splitting by '\n' keeps '\r's, so cut them now. - DC.DemangledNames[Function.Name] = Symbols[I++].rtrim(); + DC.DemangledNames[Function.Name] = std::string(Symbols[I++].rtrim()); } void CodeCoverageTool::writeSourceFileView(StringRef SourceFile, @@ -688,7 +689,8 @@ int CodeCoverageTool::run(Command Cmd, int argc, const char **argv) { // PathRemapping. auto EquivPair = StringRef(PathRemap).split(','); if (!(EquivPair.first.empty() && EquivPair.second.empty())) - PathRemapping = EquivPair; + PathRemapping = {std::string(EquivPair.first), + std::string(EquivPair.second)}; // If a demangler is supplied, check if it exists and register it. if (!DemanglerOpts.empty()) { @@ -886,7 +888,7 @@ int CodeCoverageTool::doShow(int argc, const char **argv, // Get the source files from the function coverage mapping. for (StringRef Filename : Coverage->getUniqueSourceFiles()) { if (!IgnoreFilenameFilters.matchesFilename(Filename)) - SourceFiles.push_back(Filename); + SourceFiles.push_back(std::string(Filename)); } // Create an index out of the source files. diff --git a/llvm/tools/llvm-cov/CoverageSummaryInfo.cpp b/llvm/tools/llvm-cov/CoverageSummaryInfo.cpp index 1029f77..929529c 100644 --- a/llvm/tools/llvm-cov/CoverageSummaryInfo.cpp +++ b/llvm/tools/llvm-cov/CoverageSummaryInfo.cpp @@ -51,7 +51,7 @@ FunctionCoverageSummary::get(const InstantiationGroup &Group, ArrayRef<FunctionCoverageSummary> Summaries) { std::string Name; if (Group.hasName()) { - Name = Group.getName(); + Name = std::string(Group.getName()); } else { llvm::raw_string_ostream OS(Name); OS << "Definition at line " << Group.getLine() << ", column " diff --git a/llvm/tools/llvm-cov/SourceCoverageView.cpp b/llvm/tools/llvm-cov/SourceCoverageView.cpp index 0e20ea6..cd7395a 100644 --- a/llvm/tools/llvm-cov/SourceCoverageView.cpp +++ b/llvm/tools/llvm-cov/SourceCoverageView.cpp @@ -48,7 +48,7 @@ std::string CoveragePrinter::getOutputPath(StringRef Path, StringRef Extension, sys::path::append(FullPath, PathFilename); sys::path::native(FullPath); - return FullPath.str(); + return std::string(FullPath.str()); } Expected<CoveragePrinter::OwnedStream> @@ -158,7 +158,7 @@ std::string SourceCoverageView::getSourceName() const { SmallString<128> SourceText(SourceName); sys::path::remove_dots(SourceText, /*remove_dot_dots=*/true); sys::path::native(SourceText); - return SourceText.str(); + return std::string(SourceText.str()); } void SourceCoverageView::addExpansion( diff --git a/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp b/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp index e333224..1363e0a 100644 --- a/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp +++ b/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp @@ -250,7 +250,7 @@ const char *CreatedTimeTag = "h4"; std::string getPathToStyle(StringRef ViewPath) { std::string PathToStyle = ""; - std::string PathSep = sys::path::get_separator(); + std::string PathSep = std::string(sys::path::get_separator()); unsigned NumSeps = ViewPath.count(PathSep); for (unsigned I = 0, E = NumSeps; I < E; ++I) PathToStyle += ".." + PathSep; @@ -359,7 +359,7 @@ void CoveragePrinterHTML::emitFileSummary(raw_ostream &OS, StringRef SF, // Simplify the display file path, and wrap it in a link if requested. std::string Filename; if (IsTotals) { - Filename = SF; + Filename = std::string(SF); } else { Filename = buildLinkToFile(SF, FCS); } @@ -507,7 +507,7 @@ void SourceCoverageViewHTML::renderLine(raw_ostream &OS, LineRef L, unsigned LCol = 1; auto Snip = [&](unsigned Start, unsigned Len) { - Snippets.push_back(Line.substr(Start, Len)); + Snippets.push_back(std::string(Line.substr(Start, Len))); LCol += Len; }; @@ -533,7 +533,7 @@ void SourceCoverageViewHTML::renderLine(raw_ostream &OS, LineRef L, auto Highlight = [&](const std::string &Snippet, unsigned LC, unsigned RC) { if (getOptions().Debug) HighlightedRanges.emplace_back(LC, RC); - return tag("span", Snippet, Color.getValue()); + return tag("span", Snippet, std::string(Color.getValue())); }; auto CheckIfUncovered = [&](const CoverageSegment *S) { diff --git a/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp b/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp index 6de512f..93d6322 100644 --- a/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp +++ b/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp @@ -145,9 +145,9 @@ static void demangleLine(llvm::raw_ostream &OS, StringRef Mangled, bool Split) { SmallVector<std::pair<StringRef, StringRef>, 16> Words; SplitStringDelims(Mangled, Words, IsLegalItaniumChar); for (const auto &Word : Words) - Result += ::demangle(Word.first) + Word.second.str(); + Result += ::demangle(std::string(Word.first)) + Word.second.str(); } else - Result = ::demangle(Mangled); + Result = ::demangle(std::string(Mangled)); OS << Result << '\n'; OS.flush(); } diff --git a/llvm/tools/llvm-dwarfdump/Statistics.cpp b/llvm/tools/llvm-dwarfdump/Statistics.cpp index f0656c1..b4683bb 100644 --- a/llvm/tools/llvm-dwarfdump/Statistics.cpp +++ b/llvm/tools/llvm-dwarfdump/Statistics.cpp @@ -180,7 +180,7 @@ static std::string constructDieID(DWARFDie Die, if (LT->getFileNameByIndex( dwarf::toUnsigned(DeclFile, 0), U->getCompilationDir(), DILineInfoSpecifier::FileLineInfoKind::AbsoluteFilePath, File)) - File = sys::path::filename(File); + File = std::string(sys::path::filename(File)); } ID << ":" << (File.empty() ? "/" : File); ID << ":" diff --git a/llvm/tools/llvm-elfabi/ELFObjHandler.cpp b/llvm/tools/llvm-elfabi/ELFObjHandler.cpp index b886a8d..124fffb 100644 --- a/llvm/tools/llvm-elfabi/ELFObjHandler.cpp +++ b/llvm/tools/llvm-elfabi/ELFObjHandler.cpp @@ -233,7 +233,7 @@ static ELFSymbolType convertInfoToType(uint8_t Info) { template <class ELFT> static ELFSymbol createELFSym(StringRef SymName, const typename ELFT::Sym &RawSym) { - ELFSymbol TargetSym(SymName); + ELFSymbol TargetSym{std::string(SymName)}; uint8_t Binding = RawSym.getBinding(); if (Binding == STB_WEAK) TargetSym.Weak = true; @@ -331,7 +331,7 @@ buildStub(const ELFObjectFile<ELFT> &ElfObj) { if (!NameOrErr) { return appendToError(NameOrErr.takeError(), "when reading DT_SONAME"); } - DestStub->SoName = *NameOrErr; + DestStub->SoName = std::string(*NameOrErr); } // Populate NeededLibs from .dynamic entries and dynamic string table. @@ -341,7 +341,7 @@ buildStub(const ELFObjectFile<ELFT> &ElfObj) { if (!LibNameOrErr) { return appendToError(LibNameOrErr.takeError(), "when reading DT_NEEDED"); } - DestStub->NeededLibs.push_back(*LibNameOrErr); + DestStub->NeededLibs.push_back(std::string(*LibNameOrErr)); } // Populate Symbols from .dynsym table and dynamic string table. diff --git a/llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp b/llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp index 452cebf..b4a1c62 100644 --- a/llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp +++ b/llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp @@ -84,7 +84,7 @@ InstructionBenchmark BenchmarkRunner::runConfiguration( const SnippetRepetitor &Repetitor, bool DumpObjectToDisk) const { InstructionBenchmark InstrBenchmark; InstrBenchmark.Mode = Mode; - InstrBenchmark.CpuName = State.getTargetMachine().getTargetCPU(); + InstrBenchmark.CpuName = std::string(State.getTargetMachine().getTargetCPU()); InstrBenchmark.LLVMTriple = State.getTargetMachine().getTargetTriple().normalize(); InstrBenchmark.NumRepetitions = NumRepetitions; @@ -165,7 +165,7 @@ BenchmarkRunner::writeObjectFile(const BenchmarkCode &BC, raw_fd_ostream OFS(ResultFD, true /*ShouldClose*/); assembleToStream(State.getExegesisTarget(), State.createTargetMachine(), BC.LiveIns, BC.Key.RegisterInitialValues, FillFunction, OFS); - return ResultPath.str(); + return std::string(ResultPath.str()); } BenchmarkRunner::FunctionExecutor::~FunctionExecutor() {} diff --git a/llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp b/llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp index 3451edf..fea6dc9 100644 --- a/llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp +++ b/llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp @@ -102,7 +102,7 @@ static void appendCodeTemplates(const LLVMState &State, // serial. CodeTemplate CT; CT.Execution = ExecutionModeBit; - CT.Info = ExecutionClassDescription; + CT.Info = std::string(ExecutionClassDescription); CT.Instructions.push_back(Instr); CodeTemplates.push_back(std::move(CT)); return; @@ -124,7 +124,7 @@ static void appendCodeTemplates(const LLVMState &State, setRandomAliasing(SelfAliasing, IT, IT); CodeTemplate CT; CT.Execution = ExecutionModeBit; - CT.Info = ExecutionClassDescription; + CT.Info = std::string(ExecutionClassDescription); CT.Instructions.push_back(std::move(IT)); CodeTemplates.push_back(std::move(CT)); return; @@ -143,7 +143,7 @@ static void appendCodeTemplates(const LLVMState &State, setRandomAliasing(Back, OtherIT, ThisIT); CodeTemplate CT; CT.Execution = ExecutionModeBit; - CT.Info = ExecutionClassDescription; + CT.Info = std::string(ExecutionClassDescription); CT.Instructions.push_back(std::move(ThisIT)); CT.Instructions.push_back(std::move(OtherIT)); CodeTemplates.push_back(std::move(CT)); diff --git a/llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp b/llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp index af37094..21932f4 100644 --- a/llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp +++ b/llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp @@ -160,7 +160,8 @@ generateUnconstrainedCodeTemplates(const Instruction &Instr, StringRef Msg) { std::vector<CodeTemplate> Result; Result.emplace_back(); CodeTemplate &CT = Result.back(); - CT.Info = formatv("{0}, repeating an unconstrained assignment", Msg); + CT.Info = + std::string(formatv("{0}, repeating an unconstrained assignment", Msg)); CT.Instructions.emplace_back(&Instr); return std::move(Result); } diff --git a/llvm/tools/llvm-ifs/llvm-ifs.cpp b/llvm/tools/llvm-ifs/llvm-ifs.cpp index d5816f4..3b0d2ee 100644 --- a/llvm/tools/llvm-ifs/llvm-ifs.cpp +++ b/llvm/tools/llvm-ifs/llvm-ifs.cpp @@ -346,7 +346,7 @@ int writeElfStub(const llvm::Triple &T, const std::set<IFSSymbol> &Symbols, } OS << "...\n"; - std::string YamlStr = OS.str(); + std::string YamlStr = std::string(OS.str()); // Only or debugging. Not an offical format. LLVM_DEBUG({ diff --git a/llvm/tools/llvm-link/llvm-link.cpp b/llvm/tools/llvm-link/llvm-link.cpp index fa36e08..d0c2b45 100644 --- a/llvm/tools/llvm-link/llvm-link.cpp +++ b/llvm/tools/llvm-link/llvm-link.cpp @@ -264,7 +264,7 @@ static bool importFunctions(const char *argv0, Module &DestModule) { Entry.insert(F->getGUID()); } auto CachedModuleLoader = [&](StringRef Identifier) { - return ModuleLoaderCache.takeModule(Identifier); + return ModuleLoaderCache.takeModule(std::string(Identifier)); }; FunctionImporter Importer(*Index, CachedModuleLoader); ExitOnErr(Importer.importFunctions(DestModule, ImportList)); diff --git a/llvm/tools/llvm-lipo/llvm-lipo.cpp b/llvm/tools/llvm-lipo/llvm-lipo.cpp index a82030b1..e75327e 100644 --- a/llvm/tools/llvm-lipo/llvm-lipo.cpp +++ b/llvm/tools/llvm-lipo/llvm-lipo.cpp @@ -169,7 +169,8 @@ public: Slice(const MachOObjectFile *O, uint32_t Align) : B(O), CPUType(O->getHeader().cputype), CPUSubType(O->getHeader().cpusubtype), - ArchName(O->getArchTriple().getArchName()), P2Alignment(Align) {} + ArchName(std::string(O->getArchTriple().getArchName())), + P2Alignment(Align) {} explicit Slice(const MachOObjectFile *O) : Slice(O, calculateAlignment(O)){}; @@ -214,7 +215,7 @@ public: .str()); CPUType = FO->getHeader().cputype; CPUSubType = FO->getHeader().cpusubtype; - ArchName = FO->getArchTriple().getArchName(); + ArchName = std::string(FO->getArchTriple().getArchName()); // Replicate the behavior of cctools lipo. P2Alignment = FO->is64Bit() ? 3 : 2; } @@ -316,7 +317,7 @@ static Config parseLipoOptions(ArrayRef<const char *> ArgsArr) { reportError("at least one input file should be specified"); if (InputArgs.hasArg(LIPO_output)) - C.OutputFile = InputArgs.getLastArgValue(LIPO_output); + C.OutputFile = std::string(InputArgs.getLastArgValue(LIPO_output)); for (auto Segalign : InputArgs.filtered(LIPO_segalign)) { if (!Segalign->getValue(1)) diff --git a/llvm/tools/llvm-lto/llvm-lto.cpp b/llvm/tools/llvm-lto/llvm-lto.cpp index b47e68e..1285179 100644 --- a/llvm/tools/llvm-lto/llvm-lto.cpp +++ b/llvm/tools/llvm-lto/llvm-lto.cpp @@ -454,7 +454,7 @@ static std::string getThinLTOOutputFile(const std::string &Path, if (std::error_code EC = llvm::sys::fs::create_directories(ParentPath)) error(EC, "error creating the directory '" + ParentPath + "'"); } - return NewPath.str(); + return std::string(NewPath.str()); } namespace thinlto { @@ -957,7 +957,7 @@ int main(int argc, char **argv) { lto_symbol_attributes Attrs = Module->getSymbolAttributes(I); unsigned Scope = Attrs & LTO_SYMBOL_SCOPE_MASK; if (Scope != LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN) - KeptDSOSyms.push_back(Name); + KeptDSOSyms.push_back(std::string(Name)); } // We use the first input module as the destination module when diff --git a/llvm/tools/llvm-lto2/llvm-lto2.cpp b/llvm/tools/llvm-lto2/llvm-lto2.cpp index 67a677d..8deedd4 100644 --- a/llvm/tools/llvm-lto2/llvm-lto2.cpp +++ b/llvm/tools/llvm-lto2/llvm-lto2.cpp @@ -203,7 +203,8 @@ static int run(int argc, char **argv) { return 1; } } - CommandLineResolutions[{FileName, SymbolName}].push_back(Res); + CommandLineResolutions[{std::string(FileName), std::string(SymbolName)}] + .push_back(Res); } std::vector<std::unique_ptr<MemoryBuffer>> MBs; @@ -292,14 +293,14 @@ static int run(int argc, char **argv) { std::vector<SymbolResolution> Res; for (const InputFile::Symbol &Sym : Input->symbols()) { - auto I = CommandLineResolutions.find({F, Sym.getName()}); + auto I = CommandLineResolutions.find({F, std::string(Sym.getName())}); // If it isn't found, look for "$", which would have been added // (followed by a hash) when the symbol was promoted during module // splitting if it was defined in one part and used in the other. // Try looking up the symbol name before the "$". if (I == CommandLineResolutions.end()) { auto SplitName = Sym.getName().rsplit("$"); - I = CommandLineResolutions.find({F, SplitName.first}); + I = CommandLineResolutions.find({F, std::string(SplitName.first)}); } if (I == CommandLineResolutions.end()) { llvm::errs() << argv[0] << ": missing symbol resolution for " << F @@ -354,8 +355,10 @@ static int run(int argc, char **argv) { static int dumpSymtab(int argc, char **argv) { for (StringRef F : make_range(argv + 1, argv + argc)) { - std::unique_ptr<MemoryBuffer> MB = check(MemoryBuffer::getFile(F), F); - BitcodeFileContents BFC = check(getBitcodeFileContents(*MB), F); + std::unique_ptr<MemoryBuffer> MB = + check(MemoryBuffer::getFile(F), std::string(F)); + BitcodeFileContents BFC = + check(getBitcodeFileContents(*MB), std::string(F)); if (BFC.Symtab.size() >= sizeof(irsymtab::storage::Header)) { auto *Hdr = reinterpret_cast<const irsymtab::storage::Header *>( @@ -367,7 +370,7 @@ static int dumpSymtab(int argc, char **argv) { } std::unique_ptr<InputFile> Input = - check(InputFile::create(MB->getMemBufferRef()), F); + check(InputFile::create(MB->getMemBufferRef()), std::string(F)); outs() << "target triple: " << Input->getTargetTriple() << '\n'; Triple TT(Input->getTargetTriple()); diff --git a/llvm/tools/llvm-mc/llvm-mc.cpp b/llvm/tools/llvm-mc/llvm-mc.cpp index 6aa347d..25f02b9 100644 --- a/llvm/tools/llvm-mc/llvm-mc.cpp +++ b/llvm/tools/llvm-mc/llvm-mc.cpp @@ -399,7 +399,7 @@ int main(int argc, char **argv) { } for (const auto &Arg : DebugPrefixMap) { const auto &KV = StringRef(Arg).split('='); - Ctx.addDebugPrefixMapEntry(KV.first, KV.second); + Ctx.addDebugPrefixMapEntry(std::string(KV.first), std::string(KV.second)); } if (!MainFileName.empty()) Ctx.setMainFileName(MainFileName); diff --git a/llvm/tools/llvm-mca/llvm-mca.cpp b/llvm/tools/llvm-mca/llvm-mca.cpp index fff5906..06c1ce9 100644 --- a/llvm/tools/llvm-mca/llvm-mca.cpp +++ b/llvm/tools/llvm-mca/llvm-mca.cpp @@ -324,7 +324,7 @@ int main(int argc, char **argv) { processViewOptions(); if (!MCPU.compare("native")) - MCPU = llvm::sys::getHostCPUName(); + MCPU = std::string(llvm::sys::getHostCPUName()); std::unique_ptr<MCSubtargetInfo> STI( TheTarget->createMCSubtargetInfo(TripleName, MCPU, MATTR)); diff --git a/llvm/tools/llvm-ml/llvm-ml.cpp b/llvm/tools/llvm-ml/llvm-ml.cpp index 38c4861..1b30f3e 100644 --- a/llvm/tools/llvm-ml/llvm-ml.cpp +++ b/llvm/tools/llvm-ml/llvm-ml.cpp @@ -278,7 +278,7 @@ int main(int argc, char **argv) { } for (const auto &Arg : DebugPrefixMap) { const auto &KV = StringRef(Arg).split('='); - Ctx.addDebugPrefixMapEntry(KV.first, KV.second); + Ctx.addDebugPrefixMapEntry(std::string(KV.first), std::string(KV.second)); } if (!MainFileName.empty()) Ctx.setMainFileName(MainFileName); diff --git a/llvm/tools/llvm-nm/llvm-nm.cpp b/llvm/tools/llvm-nm/llvm-nm.cpp index 2cd74af..e048551 100644 --- a/llvm/tools/llvm-nm/llvm-nm.cpp +++ b/llvm/tools/llvm-nm/llvm-nm.cpp @@ -1903,7 +1903,7 @@ static void dumpSymbolNamesFromFile(std::string &Filename) { if (SymbolicFile *O = dyn_cast<SymbolicFile>(&*ChildOrErr.get())) { if (PrintFileName) { - ArchiveName = A->getFileName(); + ArchiveName = std::string(A->getFileName()); if (ArchFlags.size() > 1) ArchitectureName = I->getArchFlagName(); } else { @@ -1972,7 +1972,7 @@ static void dumpSymbolNamesFromFile(std::string &Filename) { if (SymbolicFile *O = dyn_cast<SymbolicFile>(&*ChildOrErr.get())) { if (PrintFileName) - ArchiveName = A->getFileName(); + ArchiveName = std::string(A->getFileName()); else outs() << "\n" << A->getFileName() << "(" << O->getFileName() << ")" @@ -2037,7 +2037,7 @@ static void dumpSymbolNamesFromFile(std::string &Filename) { } if (SymbolicFile *F = dyn_cast<SymbolicFile>(&*ChildOrErr.get())) { if (PrintFileName) { - ArchiveName = A->getFileName(); + ArchiveName = std::string(A->getFileName()); if (isa<MachOObjectFile>(F) && moreThanOneArch) ArchitectureName = O.getArchFlagName(); } else { diff --git a/llvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp b/llvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp index fcf2109..d12eff7 100644 --- a/llvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp +++ b/llvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp @@ -390,7 +390,7 @@ static Error updateAndRemoveSymbols(const CopyConfig &Config, Object &Obj) { const auto I = Config.SymbolsToRename.find(Sym.Name); if (I != Config.SymbolsToRename.end()) - Sym.Name = I->getValue(); + Sym.Name = std::string(I->getValue()); if (!Config.SymbolsPrefix.empty() && Sym.Type != STT_SECTION) Sym.Name = (Config.SymbolsPrefix + Sym.Name).str(); @@ -627,7 +627,7 @@ static Error handleArgs(const CopyConfig &Config, Object &Obj, const auto Iter = Config.SectionsToRename.find(Sec.Name); if (Iter != Config.SectionsToRename.end()) { const SectionRename &SR = Iter->second; - Sec.Name = SR.NewName; + Sec.Name = std::string(SR.NewName); if (SR.NewFlags.hasValue()) setSectionFlagsAndType(Sec, SR.NewFlags.getValue()); } diff --git a/llvm/tools/llvm-objcopy/ELF/Object.cpp b/llvm/tools/llvm-objcopy/ELF/Object.cpp index ad53c756..14ac7bb 100644 --- a/llvm/tools/llvm-objcopy/ELF/Object.cpp +++ b/llvm/tools/llvm-objcopy/ELF/Object.cpp @@ -1520,7 +1520,7 @@ template <class ELFT> void ELFBuilder<ELFT>::readSectionHeaders() { continue; } auto &Sec = makeSection(Shdr); - Sec.Name = unwrapOrError(ElfFile.getSectionName(&Shdr)); + Sec.Name = std::string(unwrapOrError(ElfFile.getSectionName(&Shdr))); Sec.Type = Sec.OriginalType = Shdr.sh_type; Sec.Flags = Sec.OriginalFlags = Shdr.sh_flags; Sec.Addr = Shdr.sh_addr; diff --git a/llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp b/llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp index 4578d0b..a4b771e 100644 --- a/llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp +++ b/llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp @@ -60,7 +60,7 @@ static void updateAndRemoveSymbols(const CopyConfig &Config, Object &Obj) { for (SymbolEntry &Sym : Obj.SymTable) { auto I = Config.SymbolsToRename.find(Sym.Name); if (I != Config.SymbolsToRename.end()) - Sym.Name = I->getValue(); + Sym.Name = std::string(I->getValue()); } auto RemovePred = [Config](const std::unique_ptr<SymbolEntry> &N) { diff --git a/llvm/tools/llvm-objcopy/MachO/Object.h b/llvm/tools/llvm-objcopy/MachO/Object.h index dc2606e..eb8db57 100644 --- a/llvm/tools/llvm-objcopy/MachO/Object.h +++ b/llvm/tools/llvm-objcopy/MachO/Object.h @@ -55,11 +55,11 @@ struct Section { std::vector<RelocationInfo> Relocations; Section(StringRef SegName, StringRef SectName) - : Segname(SegName), Sectname(SectName), + : Segname(std::string(SegName)), Sectname(std::string(SectName)), CanonicalName((Twine(SegName) + Twine(',') + SectName).str()) {} Section(StringRef SegName, StringRef SectName, StringRef Content) - : Segname(SegName), Sectname(SectName), + : Segname(std::string(SegName)), Sectname(std::string(SectName)), CanonicalName((Twine(SegName) + Twine(',') + SectName).str()), Content(Content) {} diff --git a/llvm/tools/llvm-objdump/ELFDump.cpp b/llvm/tools/llvm-objdump/ELFDump.cpp index f2d6754..d2543df 100644 --- a/llvm/tools/llvm-objdump/ELFDump.cpp +++ b/llvm/tools/llvm-objdump/ELFDump.cpp @@ -98,7 +98,7 @@ static Error getRelocationValueString(const ELFObjectFile<ELFT> *Obj, if (!SymName) return SymName.takeError(); if (Demangle) - Fmt << demangle(*SymName); + Fmt << demangle(std::string(*SymName)); else Fmt << *SymName; } diff --git a/llvm/tools/llvm-objdump/MachODump.cpp b/llvm/tools/llvm-objdump/MachODump.cpp index 87c7a92..a55ddb7 100644 --- a/llvm/tools/llvm-objdump/MachODump.cpp +++ b/llvm/tools/llvm-objdump/MachODump.cpp @@ -7346,7 +7346,7 @@ static void DisassembleMachO(StringRef Filename, MachOObjectFile *MachOOF, SmallString<1024> FullPath(DSYMPath); llvm::sys::path::append(FullPath, "Contents", "Resources", "DWARF", ShortName); - DSYMPath = FullPath.str(); + DSYMPath = std::string(FullPath.str()); } // Load the file. diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp index 6bd37a1..984b3f5 100644 --- a/llvm/tools/llvm-objdump/llvm-objdump.cpp +++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp @@ -397,7 +397,7 @@ std::string getFileNameForError(const object::Archive::Child &C, unsigned Index) { Expected<StringRef> NameOrErr = C.getName(); if (NameOrErr) - return NameOrErr.get(); + return std::string(NameOrErr.get()); // If we have an error getting the name then we print the index of the archive // member. Since we are already in an error state, we just ignore this error. consumeError(NameOrErr.takeError()); @@ -562,7 +562,7 @@ public: symbolize::LLVMSymbolizer::Options SymbolizerOpts; SymbolizerOpts.PrintFunctions = DILineInfoSpecifier::FunctionNameKind::None; SymbolizerOpts.Demangle = false; - SymbolizerOpts.DefaultArch = DefaultArch; + SymbolizerOpts.DefaultArch = std::string(DefaultArch); Symbolizer.reset(new symbolize::LLVMSymbolizer(SymbolizerOpts)); } virtual ~SourcePrinter() = default; @@ -1927,7 +1927,7 @@ void printSymbolTable(const ObjectFile *O, StringRef ArchiveName, } if (Demangle) - outs() << ' ' << demangle(Name) << '\n'; + outs() << ' ' << demangle(std::string(Name)) << '\n'; else outs() << ' ' << Name << '\n'; } diff --git a/llvm/tools/llvm-opt-report/OptReport.cpp b/llvm/tools/llvm-opt-report/OptReport.cpp index 4aecec2..8d7ecfb 100644 --- a/llvm/tools/llvm-opt-report/OptReport.cpp +++ b/llvm/tools/llvm-opt-report/OptReport.cpp @@ -225,14 +225,17 @@ static bool readLocationInfo(LocationInfoTy &LocationInfo) { }; if (Remark.PassName == "inline") { - auto &LI = LocationInfo[File][Line][Remark.FunctionName][Column]; + auto &LI = LocationInfo[std::string(File)][Line] + [std::string(Remark.FunctionName)][Column]; UpdateLLII(LI.Inlined); } else if (Remark.PassName == "loop-unroll") { - auto &LI = LocationInfo[File][Line][Remark.FunctionName][Column]; + auto &LI = LocationInfo[std::string(File)][Line] + [std::string(Remark.FunctionName)][Column]; LI.UnrollCount = UnrollCount; UpdateLLII(LI.Unrolled); } else if (Remark.PassName == "loop-vectorize") { - auto &LI = LocationInfo[File][Line][Remark.FunctionName][Column]; + auto &LI = LocationInfo[std::string(File)][Line] + [std::string(Remark.FunctionName)][Column]; LI.VectorizationFactor = VectorizationFactor; LI.InterleaveCount = InterleaveCount; UpdateLLII(LI.Vectorized); diff --git a/llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp b/llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp index bf725ad..32448ce 100644 --- a/llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp +++ b/llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp @@ -896,7 +896,7 @@ Error DumpOutputStyle::dumpUdtStats() { return L.Stat.Size > R.Stat.Size; }); for (const auto &Stat : NamespacedStatsSorted) { - std::string Label = formatv("namespace '{0}'", Stat.Key); + std::string Label = std::string(formatv("namespace '{0}'", Stat.Key)); P.formatLine("{0} | {1:N} {2:N}", fmt_align(Label, AlignStyle::Right, FieldWidth), fmt_align(Stat.Stat.Count, AlignStyle::Right, CD), @@ -1039,7 +1039,7 @@ Error DumpOutputStyle::dumpXmi() { } std::vector<std::string> TIs; for (const auto I : Xmi.Imports) - TIs.push_back(formatv("{0,+10:X+}", fmtle(I))); + TIs.push_back(std::string(formatv("{0,+10:X+}", fmtle(I)))); std::string Result = typesetItemList(TIs, P.getIndentLevel() + 35, 12, " "); P.formatLine("{0,+32} | {1}", Module, Result); diff --git a/llvm/tools/llvm-pdbutil/FormatUtil.cpp b/llvm/tools/llvm-pdbutil/FormatUtil.cpp index 1a13f38..c9ef196 100644 --- a/llvm/tools/llvm-pdbutil/FormatUtil.cpp +++ b/llvm/tools/llvm-pdbutil/FormatUtil.cpp @@ -20,7 +20,7 @@ using namespace llvm::pdb; std::string llvm::pdb::truncateStringBack(StringRef S, uint32_t MaxLen) { if (MaxLen == 0 || S.size() <= MaxLen || S.size() <= 3) - return S; + return std::string(S); assert(MaxLen >= 3); uint32_t FinalLen = std::min<size_t>(S.size(), MaxLen - 3); @@ -30,7 +30,7 @@ std::string llvm::pdb::truncateStringBack(StringRef S, uint32_t MaxLen) { std::string llvm::pdb::truncateStringMiddle(StringRef S, uint32_t MaxLen) { if (MaxLen == 0 || S.size() <= MaxLen || S.size() <= 3) - return S; + return std::string(S); assert(MaxLen >= 3); uint32_t FinalLen = std::min<size_t>(S.size(), MaxLen - 3); @@ -41,7 +41,7 @@ std::string llvm::pdb::truncateStringMiddle(StringRef S, uint32_t MaxLen) { std::string llvm::pdb::truncateStringFront(StringRef S, uint32_t MaxLen) { if (MaxLen == 0 || S.size() <= MaxLen || S.size() <= 3) - return S; + return std::string(S); assert(MaxLen >= 3); S = S.take_back(MaxLen - 3); @@ -82,7 +82,7 @@ std::string llvm::pdb::typesetItemList(ArrayRef<std::string> Opts, if (!Opts.empty()) { Result += Sep; Result += "\n"; - Result += formatv("{0}", fmt_repeat(' ', IndentLevel)); + Result += std::string(formatv("{0}", fmt_repeat(' ', IndentLevel))); } } return Result; @@ -92,7 +92,7 @@ std::string llvm::pdb::typesetStringList(uint32_t IndentLevel, ArrayRef<StringRef> Strings) { std::string Result = "["; for (const auto &S : Strings) { - Result += formatv("\n{0}{1}", fmt_repeat(' ', IndentLevel), S); + Result += std::string(formatv("\n{0}{1}", fmt_repeat(' ', IndentLevel), S)); } Result += "]"; return Result; @@ -169,7 +169,7 @@ StringRef llvm::pdb::formatTypeLeafKind(TypeLeafKind K) { } std::string llvm::pdb::formatSegmentOffset(uint16_t Segment, uint32_t Offset) { - return formatv("{0:4}:{1:4}", Segment, Offset); + return std::string(formatv("{0:4}:{1:4}", Segment, Offset)); } #define PUSH_CHARACTERISTIC_FLAG(Enum, TheOpt, Value, Style, Descriptive) \ diff --git a/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp b/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp index ebfa506..7a06140 100644 --- a/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp +++ b/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp @@ -371,9 +371,9 @@ std::string MinimalSymbolDumper::typeOrIdIndex(codeview::TypeIndex TI, StringRef Name = Container.getTypeName(TI); if (Name.size() > 32) { Name = Name.take_front(32); - return formatv("{0} ({1}...)", TI, Name); + return std::string(formatv("{0} ({1}...)", TI, Name)); } else - return formatv("{0} ({1})", TI, Name); + return std::string(formatv("{0} ({1})", TI, Name)); } std::string MinimalSymbolDumper::idIndex(codeview::TypeIndex TI) const { diff --git a/llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp b/llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp index 3fdef08..8e46a97 100644 --- a/llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp +++ b/llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp @@ -201,8 +201,9 @@ static std::string formatPointerAttrs(const PointerRecord &Record) { PointerMode Mode = Record.getMode(); PointerOptions Opts = Record.getOptions(); PointerKind Kind = Record.getPointerKind(); - return formatv("mode = {0}, opts = {1}, kind = {2}", formatPointerMode(Mode), - pointerOptions(Opts), pointerKind(Kind)); + return std::string(formatv("mode = {0}, opts = {1}, kind = {2}", + formatPointerMode(Mode), pointerOptions(Opts), + pointerKind(Kind))); } static std::string formatFunctionOptions(FunctionOptions Options) { diff --git a/llvm/tools/llvm-pdbutil/StreamUtil.cpp b/llvm/tools/llvm-pdbutil/StreamUtil.cpp index 7dfc2be..d0d0a9fb 100644 --- a/llvm/tools/llvm-pdbutil/StreamUtil.cpp +++ b/llvm/tools/llvm-pdbutil/StreamUtil.cpp @@ -32,7 +32,7 @@ std::string StreamInfo::getLongName() const { StreamInfo StreamInfo::createStream(StreamPurpose Purpose, StringRef Name, uint32_t StreamIndex) { StreamInfo Result; - Result.Name = Name; + Result.Name = std::string(Name); Result.StreamIndex = StreamIndex; Result.Purpose = Purpose; return Result; @@ -41,7 +41,7 @@ StreamInfo StreamInfo::createStream(StreamPurpose Purpose, StringRef Name, StreamInfo StreamInfo::createModuleStream(StringRef Module, uint32_t StreamIndex, uint32_t Modi) { StreamInfo Result; - Result.Name = Module; + Result.Name = std::string(Module); Result.StreamIndex = StreamIndex; Result.ModuleIndex = Modi; Result.Purpose = StreamPurpose::ModuleStream; @@ -90,7 +90,7 @@ void llvm::pdb::discoverStreamPurposes(PDBFile &File, if (Info) { for (auto &NSE : Info->named_streams()) { if (NSE.second != kInvalidStreamIndex) - NamedStreams[NSE.second] = NSE.first(); + NamedStreams[NSE.second] = std::string(NSE.first()); } } diff --git a/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp b/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp index 9307300..5dc666e 100644 --- a/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp +++ b/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp @@ -1507,7 +1507,7 @@ int main(int Argc, const char **Argv) { if (opts::yaml2pdb::YamlPdbOutputFile.empty()) { SmallString<16> OutputFilename(opts::yaml2pdb::InputFilename.getValue()); sys::path::replace_extension(OutputFilename, ".pdb"); - opts::yaml2pdb::YamlPdbOutputFile = OutputFilename.str(); + opts::yaml2pdb::YamlPdbOutputFile = std::string(OutputFilename.str()); } yamlToPdb(opts::yaml2pdb::InputFilename); } else if (opts::DiaDumpSubcommand) { diff --git a/llvm/tools/llvm-profdata/llvm-profdata.cpp b/llvm/tools/llvm-profdata/llvm-profdata.cpp index d98934b..424edf4 100644 --- a/llvm/tools/llvm-profdata/llvm-profdata.cpp +++ b/llvm/tools/llvm-profdata/llvm-profdata.cpp @@ -73,15 +73,15 @@ static void exitWithError(Error E, StringRef Whence = "") { // Hint for common error of forgetting --sample for sample profiles. Hint = "Perhaps you forgot to use the --sample option?"; } - exitWithError(IPE.message(), Whence, Hint); + exitWithError(IPE.message(), std::string(Whence), std::string(Hint)); }); } - exitWithError(toString(std::move(E)), Whence); + exitWithError(toString(std::move(E)), std::string(Whence)); } static void exitWithErrorCode(std::error_code EC, StringRef Whence = "") { - exitWithError(EC.message(), Whence); + exitWithError(EC.message(), std::string(Whence)); } namespace { @@ -94,7 +94,7 @@ static void warnOrExitGivenError(FailureMode FailMode, std::error_code EC, if (FailMode == failIfAnyAreInvalid) exitWithErrorCode(EC, Whence); else - warn(EC.message(), Whence); + warn(EC.message(), std::string(Whence)); } static void handleMergeWriterError(Error E, StringRef WhenceFile = "", @@ -401,7 +401,8 @@ remapSamples(const sampleprof::FunctionSamples &Samples, for (const auto &Callsite : CallsiteSamples.second) { sampleprof::FunctionSamples Remapped = remapSamples(Callsite.second, Remapper, Error); - MergeResult(Error, Target[Remapped.getName()].merge(Remapped)); + MergeResult(Error, + Target[std::string(Remapped.getName())].merge(Remapped)); } } return Result; @@ -537,7 +538,7 @@ static WeightedFile parseWeightedFile(const StringRef &WeightedFilename) { if (WeightStr.getAsInteger(10, Weight) || Weight < 1) exitWithError("Input weight must be a positive integer."); - return {FileName, Weight}; + return {std::string(FileName), Weight}; } static void addWeightedInput(WeightedFileVector &WNI, const WeightedFile &WF) { @@ -546,7 +547,7 @@ static void addWeightedInput(WeightedFileVector &WNI, const WeightedFile &WF) { // If it's STDIN just pass it on. if (Filename == "-") { - WNI.push_back({Filename, Weight}); + WNI.push_back({std::string(Filename), Weight}); return; } @@ -557,7 +558,7 @@ static void addWeightedInput(WeightedFileVector &WNI, const WeightedFile &WF) { Filename); // If it's a source file, collect it. if (llvm::sys::fs::is_regular_file(Status)) { - WNI.push_back({Filename, Weight}); + WNI.push_back({std::string(Filename), Weight}); return; } @@ -589,7 +590,7 @@ static void parseInputFilenamesFile(MemoryBuffer *Buffer, continue; // If there's no comma, it's an unweighted profile. else if (SanitizedEntry.find(',') == StringRef::npos) - addWeightedInput(WFV, {SanitizedEntry, 1}); + addWeightedInput(WFV, {std::string(SanitizedEntry), 1}); else addWeightedInput(WFV, parseWeightedFile(SanitizedEntry)); } @@ -658,7 +659,7 @@ static int merge_main(int argc, const char *argv[]) { WeightedFileVector WeightedInputs; for (StringRef Filename : InputFilenames) - addWeightedInput(WeightedInputs, {Filename, 1}); + addWeightedInput(WeightedInputs, {std::string(Filename), 1}); for (StringRef WeightedFilename : WeightedInputFilenames) addWeightedInput(WeightedInputs, parseWeightedFile(WeightedFilename)); diff --git a/llvm/tools/llvm-rc/llvm-rc.cpp b/llvm/tools/llvm-rc/llvm-rc.cpp index 97cc7c8..a09960d 100644 --- a/llvm/tools/llvm-rc/llvm-rc.cpp +++ b/llvm/tools/llvm-rc/llvm-rc.cpp @@ -168,7 +168,7 @@ int main(int Argc, const char **Argv) { if (OutArgsInfo.empty()) { SmallString<128> OutputFile = InputFile; llvm::sys::path::replace_extension(OutputFile, "res"); - OutArgsInfo.push_back(OutputFile.str()); + OutArgsInfo.push_back(std::string(OutputFile.str())); } if (OutArgsInfo.size() != 1) diff --git a/llvm/tools/llvm-readobj/COFFDumper.cpp b/llvm/tools/llvm-readobj/COFFDumper.cpp index 9b2c6ad..ffe331a 100644 --- a/llvm/tools/llvm-readobj/COFFDumper.cpp +++ b/llvm/tools/llvm-readobj/COFFDumper.cpp @@ -1135,7 +1135,7 @@ void COFFDumper::printCodeViewSymbolSection(StringRef SectionName, return; } - std::string PC = formatv("+{0:X}", uint32_t(Line.Offset)); + std::string PC = std::string(formatv("+{0:X}", uint32_t(Line.Offset))); ListScope PCScope(W, PC); codeview::LineInfo LI(Line.Flags); diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp index f321bab..626ac41 100644 --- a/llvm/tools/llvm-readobj/ELFDumper.cpp +++ b/llvm/tools/llvm-readobj/ELFDumper.cpp @@ -490,7 +490,7 @@ ELFDumper<ELFT>::getVersionDefinitions(const Elf_Shdr *Sec) const { VerdAux Aux; Aux.Offset = VerdauxBuf - Start; if (Verdaux->vda_name <= StrTabOrErr->size()) - Aux.Name = StrTabOrErr->drop_front(Verdaux->vda_name); + Aux.Name = std::string(StrTabOrErr->drop_front(Verdaux->vda_name)); else Aux.Name = "<invalid vda_name: " + to_string(Verdaux->vda_name) + ">"; return Aux; @@ -600,7 +600,7 @@ ELFDumper<ELFT>::getVersionDependencies(const Elf_Shdr *Sec) const { VN.Offset = VerneedBuf - Start; if (Verneed->vn_file < StrTab.size()) - VN.File = StrTab.drop_front(Verneed->vn_file); + VN.File = std::string(StrTab.drop_front(Verneed->vn_file)); else VN.File = "<corrupt vn_file: " + to_string(Verneed->vn_file) + ">"; @@ -630,7 +630,7 @@ ELFDumper<ELFT>::getVersionDependencies(const Elf_Shdr *Sec) const { if (StrTab.size() <= Vernaux->vna_name) Aux.Name = "<corrupt>"; else - Aux.Name = StrTab.drop_front(Vernaux->vna_name); + Aux.Name = std::string(StrTab.drop_front(Vernaux->vna_name)); VernauxBuf += Vernaux->vna_next; } @@ -806,7 +806,7 @@ private: std::string Str; unsigned Column; - Field(StringRef S, unsigned Col) : Str(S), Column(Col) {} + Field(StringRef S, unsigned Col) : Str(std::string(S)), Column(Col) {} Field(unsigned Col) : Column(Col) {} }; @@ -814,7 +814,7 @@ private: std::string printEnum(T Value, ArrayRef<EnumEntry<TEnum>> EnumValues) { for (const auto &EnumItem : EnumValues) if (EnumItem.Value == Value) - return EnumItem.AltName; + return std::string(EnumItem.AltName); return to_hexString(Value, false); } @@ -988,7 +988,7 @@ template <class ELFT> Error ELFDumper<ELFT>::LoadVersionMap() const { auto InsertEntry = [this](unsigned N, StringRef Version, bool IsVerdef) { if (N >= VersionMap.size()) VersionMap.resize(N + 1); - VersionMap[N] = {Version, IsVerdef}; + VersionMap[N] = {std::string(Version), IsVerdef}; }; if (SymbolVersionDefSection) { @@ -1036,7 +1036,7 @@ Expected<StringRef> ELFDumper<ELFT>::getSymbolVersion(const Elf_Sym *Sym, } static std::string maybeDemangle(StringRef Name) { - return opts::Demangle ? demangle(Name) : Name.str(); + return opts::Demangle ? demangle(std::string(Name)) : Name.str(); } template <typename ELFT> @@ -1106,7 +1106,7 @@ std::string ELFDumper<ELFT>::getFullSymbolName(const Elf_Sym *Symbol, ELFDumperStyle->reportUniqueWarning(NameOrErr.takeError()); return ("<section " + Twine(*SectionIndex) + ">").str(); } - return *NameOrErr; + return std::string(*NameOrErr); } if (!IsDynamic) @@ -3211,7 +3211,8 @@ void GNUStyle<ELFT>::printRelocation(const ELFO *Obj, const Elf_Shdr *SymTab, const Elf_Shdr *Sec = unwrapOrError( this->FileName, Obj->getSection(Sym, SymTab, this->dumper()->getShndxTable())); - TargetName = unwrapOrError(this->FileName, Obj->getSectionName(Sec)); + TargetName = + std::string(unwrapOrError(this->FileName, Obj->getSectionName(Sec))); } else if (Sym) { StringRef StrTable = unwrapOrError(this->FileName, Obj->getStringTableForSymtab(*SymTab)); @@ -3240,7 +3241,7 @@ void GNUStyle<ELFT>::printRelocation(const ELFO *Obj, const Elf_Sym *Sym, if (Sym && (!SymbolName.empty() || Sym->getValue() != 0)) Fields[3].Str = to_string(format_hex_no_prefix(Sym->getValue(), Width)); - Fields[4].Str = SymbolName; + Fields[4].Str = std::string(SymbolName); for (const Field &F : Fields) printField(F); @@ -3524,8 +3525,8 @@ void GNUStyle<ELFT>::printSectionHeaders(const ELFO *Obj) { if (SecStrTable.empty()) Fields[1].Str = "<no-strings>"; else - Fields[1].Str = unwrapOrError<StringRef>( - ElfObj->getFileName(), Obj->getSectionName(&Sec, SecStrTable)); + Fields[1].Str = std::string(unwrapOrError<StringRef>( + ElfObj->getFileName(), Obj->getSectionName(&Sec, SecStrTable))); Fields[2].Str = getSectionTypeString(Obj->getHeader()->e_machine, Sec.sh_type); Fields[3].Str = @@ -4732,7 +4733,7 @@ template <typename ELFT> static GNUAbiTag getGNUAbiTag(ArrayRef<uint8_t> Desc) { std::string str; raw_string_ostream ABI(str); ABI << Major << "." << Minor << "." << Patch; - return {OSName, ABI.str(), /*IsValid=*/true}; + return {std::string(OSName), ABI.str(), /*IsValid=*/true}; } static std::string getGNUBuildId(ArrayRef<uint8_t> Desc) { @@ -5626,7 +5627,8 @@ void LLVMStyle<ELFT>::printRelocation(const ELFO *Obj, Elf_Rela Rel, const Elf_Shdr *Sec = unwrapOrError( this->FileName, Obj->getSection(Sym, SymTab, this->dumper()->getShndxTable())); - TargetName = unwrapOrError(this->FileName, Obj->getSectionName(Sec)); + TargetName = + std::string(unwrapOrError(this->FileName, Obj->getSectionName(Sec))); } else if (Sym) { StringRef StrTable = unwrapOrError(this->FileName, Obj->getStringTableForSymtab(*SymTab)); diff --git a/llvm/tools/llvm-readobj/ObjDumper.cpp b/llvm/tools/llvm-readobj/ObjDumper.cpp index 6229b52..2359699 100644 --- a/llvm/tools/llvm-readobj/ObjDumper.cpp +++ b/llvm/tools/llvm-readobj/ObjDumper.cpp @@ -54,7 +54,7 @@ getSectionRefsByNameOrIndex(const object::ObjectFile *Obj, SecIndex = Obj->isELF() ? 0 : 1; for (object::SectionRef SecRef : Obj->sections()) { StringRef SecName = unwrapOrError(Obj->getFileName(), SecRef.getName()); - auto NameIt = SecNames.find(SecName); + auto NameIt = SecNames.find(std::string(SecName)); if (NameIt != SecNames.end()) NameIt->second = true; auto IndexIt = SecIndices.find(SecIndex); diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp index fadeec1..869292a 100644 --- a/llvm/tools/llvm-readobj/llvm-readobj.cpp +++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp @@ -456,8 +456,9 @@ static void dumpObject(const ObjectFile *Obj, ScopedPrinter &Writer, Writer.printString("Format", Obj->getFileFormatName()); Writer.printString("Arch", Triple::getArchTypeName( (llvm::Triple::ArchType)Obj->getArch())); - Writer.printString("AddressSize", - formatv("{0}bit", 8 * Obj->getBytesInAddress())); + Writer.printString( + "AddressSize", + std::string(formatv("{0}bit", 8 * Obj->getBytesInAddress()))); Dumper->printLoadName(); } diff --git a/llvm/tools/llvm-reduce/deltas/Delta.cpp b/llvm/tools/llvm-reduce/deltas/Delta.cpp index 0642241..3c55adf 100644 --- a/llvm/tools/llvm-reduce/deltas/Delta.cpp +++ b/llvm/tools/llvm-reduce/deltas/Delta.cpp @@ -47,7 +47,7 @@ bool IsReduced(Module &M, TestRunner &Test, SmallString<128> &CurrentFilepath) { static int getLines(StringRef Filepath) { int Lines = 0; std::string CurrLine; - std::ifstream FileStream(Filepath); + std::ifstream FileStream{std::string(Filepath)}; while (std::getline(FileStream, CurrLine)) ++Lines; diff --git a/llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp b/llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp index f5f14b8..d5f60aa 100644 --- a/llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp +++ b/llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp @@ -93,7 +93,7 @@ static void extractArgumentsFromModule(std::vector<Chunk> ChunksToKeep, replaceFunctionCalls(*F, *ClonedFunc, ArgIndexesToKeep); // Rename Cloned Function to Old's name - std::string FName = F->getName(); + std::string FName = std::string(F->getName()); F->eraseFromParent(); ClonedFunc->setName(FName); } diff --git a/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp b/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp index 9b84c46..be5dbdd 100644 --- a/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp +++ b/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp @@ -189,7 +189,7 @@ class TrivialMemoryManager : public RTDyldMemoryManager { public: struct SectionInfo { SectionInfo(StringRef Name, sys::MemoryBlock MB, unsigned SectionID) - : Name(Name), MB(std::move(MB)), SectionID(SectionID) {} + : Name(std::string(Name)), MB(std::move(MB)), SectionID(SectionID) {} std::string Name; sys::MemoryBlock MB; unsigned SectionID = ~0U; @@ -599,7 +599,7 @@ void applySpecificSectionMappings(RuntimeDyld &Dyld, for (StringRef Mapping : SpecificSectionMappings) { size_t EqualsIdx = Mapping.find_first_of("="); - std::string SectionIDStr = Mapping.substr(0, EqualsIdx); + std::string SectionIDStr = std::string(Mapping.substr(0, EqualsIdx)); size_t ComaIdx = Mapping.find_first_of(","); if (ComaIdx == StringRef::npos) @@ -612,7 +612,7 @@ void applySpecificSectionMappings(RuntimeDyld &Dyld, ExitOnErr(getSectionId(FileToSecIDMap, FileName, SectionName)); auto* OldAddr = Dyld.getSectionContent(SectionID).data(); - std::string NewAddrStr = Mapping.substr(EqualsIdx + 1); + std::string NewAddrStr = std::string(Mapping.substr(EqualsIdx + 1)); uint64_t NewAddr; if (StringRef(NewAddrStr).getAsInteger(0, NewAddr)) diff --git a/llvm/tools/llvm-undname/llvm-undname.cpp b/llvm/tools/llvm-undname/llvm-undname.cpp index aee9946..7c36825 100644 --- a/llvm/tools/llvm-undname/llvm-undname.cpp +++ b/llvm/tools/llvm-undname/llvm-undname.cpp @@ -87,7 +87,7 @@ int main(int argc, char **argv) { << "\': " << EC.message() << '\n'; return 1; } - return msDemangle(FileOrErr->get()->getBuffer()) ? 0 : 1; + return msDemangle(std::string(FileOrErr->get()->getBuffer())) ? 0 : 1; } bool Success = true; @@ -111,7 +111,7 @@ int main(int argc, char **argv) { outs() << Line << "\n"; outs().flush(); } - if (!msDemangle(Line)) + if (!msDemangle(std::string(Line))) Success = false; outs() << "\n"; } @@ -119,7 +119,7 @@ int main(int argc, char **argv) { for (StringRef S : Symbols) { outs() << S << "\n"; outs().flush(); - if (!msDemangle(S)) + if (!msDemangle(std::string(S))) Success = false; outs() << "\n"; } diff --git a/llvm/tools/llvm-xray/xray-color-helper.cpp b/llvm/tools/llvm-xray/xray-color-helper.cpp index c09cad3..ea7ff35 100644 --- a/llvm/tools/llvm-xray/xray-color-helper.cpp +++ b/llvm/tools/llvm-xray/xray-color-helper.cpp @@ -208,8 +208,8 @@ ColorHelper::getColorTuple(double Point) const { // string. std::string ColorHelper::getColorString(std::tuple<uint8_t, uint8_t, uint8_t> t) { - return llvm::formatv("#{0:X-2}{1:X-2}{2:X-2}", std::get<0>(t), std::get<1>(t), - std::get<2>(t)); + return std::string(llvm::formatv("#{0:X-2}{1:X-2}{2:X-2}", std::get<0>(t), + std::get<1>(t), std::get<2>(t))); } // Gets a color in a gradient given a number in the interval [0,1], it does this diff --git a/llvm/tools/llvm-xray/xray-graph-diff.cpp b/llvm/tools/llvm-xray/xray-graph-diff.cpp index a1bca32..11210e2 100644 --- a/llvm/tools/llvm-xray/xray-graph-diff.cpp +++ b/llvm/tools/llvm-xray/xray-graph-diff.cpp @@ -314,7 +314,7 @@ static std::string getLabel(const GraphDiffRenderer::GraphT::EdgeValueType &E, const auto &RightStat = EdgeAttr.CorrEdgePtr[1]->second.S; double RelDiff = statRelDiff(LeftStat, RightStat, EL); - return formatv(R"({0:P})", RelDiff); + return std::string(formatv(R"({0:P})", RelDiff)); } } @@ -324,17 +324,19 @@ static std::string getLabel(const GraphDiffRenderer::GraphT::VertexValueType &V, const auto &VertexAttr = V.second; switch (VL) { case GraphDiffRenderer::StatType::NONE: - return formatv(R"({0})", truncateString(VertexId, TrunLen).str()); + return std::string( + formatv(R"({0})", truncateString(VertexId, TrunLen).str())); default: if (containsNullptr(VertexAttr.CorrVertexPtr)) - return formatv(R"({0})", truncateString(VertexId, TrunLen).str()); + return std::string( + formatv(R"({0})", truncateString(VertexId, TrunLen).str())); const auto &LeftStat = VertexAttr.CorrVertexPtr[0]->second.S; const auto &RightStat = VertexAttr.CorrVertexPtr[1]->second.S; double RelDiff = statRelDiff(LeftStat, RightStat, VL); - return formatv(R"({{{0}|{1:P}})", truncateString(VertexId, TrunLen).str(), - RelDiff); + return std::string(formatv( + R"({{{0}|{1:P}})", truncateString(VertexId, TrunLen).str(), RelDiff)); } } diff --git a/llvm/tools/llvm-xray/xray-stacks.cpp b/llvm/tools/llvm-xray/xray-stacks.cpp index cf29288..1e44902 100644 --- a/llvm/tools/llvm-xray/xray-stacks.cpp +++ b/llvm/tools/llvm-xray/xray-stacks.cpp @@ -674,11 +674,12 @@ std::string CreateErrorMessage(StackTrie::AccountRecordStatus Error, const FuncIdConversionHelper &Converter) { switch (Error) { case StackTrie::AccountRecordStatus::ENTRY_NOT_FOUND: - return formatv("Found record {0} with no matching function entry\n", - format_xray_record(Record, Converter)); + return std::string( + formatv("Found record {0} with no matching function entry\n", + format_xray_record(Record, Converter))); default: - return formatv("Unknown error type for record {0}\n", - format_xray_record(Record, Converter)); + return std::string(formatv("Unknown error type for record {0}\n", + format_xray_record(Record, Converter))); } } diff --git a/llvm/tools/obj2yaml/elf2yaml.cpp b/llvm/tools/obj2yaml/elf2yaml.cpp index 904d1ad..199a482 100644 --- a/llvm/tools/obj2yaml/elf2yaml.cpp +++ b/llvm/tools/obj2yaml/elf2yaml.cpp @@ -115,7 +115,7 @@ ELFDumper<ELFT>::getUniquedSectionName(const Elf_Shdr *Sec) { if (!It.second) Ret = (Name + " [" + Twine(++It.first->second) + "]").str(); else - Ret = Name; + Ret = std::string(Name); return Ret; } @@ -147,7 +147,7 @@ ELFDumper<ELFT>::getUniquedSymbolName(const Elf_Sym *Sym, StringRef StrTable, SymbolNames[Index] = (Name + " [" + Twine(++It.first->second) + "]").str(); else - SymbolNames[Index] = Name; + SymbolNames[Index] = std::string(Name); return SymbolNames[Index]; } diff --git a/llvm/tools/opt/PassPrinters.cpp b/llvm/tools/opt/PassPrinters.cpp index a877d9d..ed4fc1a 100644 --- a/llvm/tools/opt/PassPrinters.cpp +++ b/llvm/tools/opt/PassPrinters.cpp @@ -37,7 +37,7 @@ struct FunctionPassPrinter : public FunctionPass { FunctionPassPrinter(const PassInfo *PI, raw_ostream &out, bool Quiet) : FunctionPass(ID), PassToPrint(PI), Out(out), QuietPass(Quiet) { - std::string PassToPrintName = PassToPrint->getPassName(); + std::string PassToPrintName = std::string(PassToPrint->getPassName()); PassName = "FunctionPass Printer: " + PassToPrintName; } @@ -70,7 +70,7 @@ struct CallGraphSCCPassPrinter : public CallGraphSCCPass { CallGraphSCCPassPrinter(const PassInfo *PI, raw_ostream &out, bool Quiet) : CallGraphSCCPass(ID), PassToPrint(PI), Out(out), QuietPass(Quiet) { - std::string PassToPrintName = PassToPrint->getPassName(); + std::string PassToPrintName = std::string(PassToPrint->getPassName()); PassName = "CallGraphSCCPass Printer: " + PassToPrintName; } @@ -107,7 +107,7 @@ struct ModulePassPrinter : public ModulePass { ModulePassPrinter(const PassInfo *PI, raw_ostream &out, bool Quiet) : ModulePass(ID), PassToPrint(PI), Out(out), QuietPass(Quiet) { - std::string PassToPrintName = PassToPrint->getPassName(); + std::string PassToPrintName = std::string(PassToPrint->getPassName()); PassName = "ModulePass Printer: " + PassToPrintName; } @@ -139,7 +139,7 @@ struct LoopPassPrinter : public LoopPass { LoopPassPrinter(const PassInfo *PI, raw_ostream &out, bool Quiet) : LoopPass(ID), PassToPrint(PI), Out(out), QuietPass(Quiet) { - std::string PassToPrintName = PassToPrint->getPassName(); + std::string PassToPrintName = std::string(PassToPrint->getPassName()); PassName = "LoopPass Printer: " + PassToPrintName; } @@ -172,7 +172,7 @@ struct RegionPassPrinter : public RegionPass { RegionPassPrinter(const PassInfo *PI, raw_ostream &out, bool Quiet) : RegionPass(ID), PassToPrint(PI), Out(out), QuietPass(Quiet) { - std::string PassToPrintName = PassToPrint->getPassName(); + std::string PassToPrintName = std::string(PassToPrint->getPassName()); PassName = "RegionPass Printer: " + PassToPrintName; } diff --git a/llvm/tools/sancov/sancov.cpp b/llvm/tools/sancov/sancov.cpp index 5523174..d404660 100644 --- a/llvm/tools/sancov/sancov.cpp +++ b/llvm/tools/sancov/sancov.cpp @@ -358,7 +358,7 @@ static std::string parseScalarString(yaml::Node *N) { SmallString<64> StringStorage; yaml::ScalarNode *S = dyn_cast<yaml::ScalarNode>(N); failIf(!S, "expected string"); - return S->getValue(StringStorage); + return std::string(S->getValue(StringStorage)); } std::unique_ptr<SymbolizedCoverage> @@ -1070,11 +1070,11 @@ readSymbolizeAndMergeCmdArguments(std::vector<std::string> FileNames) { CovFiles.insert(FileName); } else { auto ShortFileName = llvm::sys::path::filename(FileName); - if (ObjFiles.find(ShortFileName) != ObjFiles.end()) { + if (ObjFiles.find(std::string(ShortFileName)) != ObjFiles.end()) { fail("Duplicate binary file with a short name: " + ShortFileName); } - ObjFiles[ShortFileName] = FileName; + ObjFiles[std::string(ShortFileName)] = FileName; if (FirstObjFile.empty()) FirstObjFile = FileName; } @@ -1093,7 +1093,7 @@ readSymbolizeAndMergeCmdArguments(std::vector<std::string> FileNames) { FileName); } - auto Iter = ObjFiles.find(Components[1]); + auto Iter = ObjFiles.find(std::string(Components[1])); if (Iter == ObjFiles.end()) { fail("Object file for coverage not found: " + FileName); } |