diff options
| author | Rui Ueyama <ruiu@google.com> | 2016-07-14 23:43:36 +0000 |
|---|---|---|
| committer | Rui Ueyama <ruiu@google.com> | 2016-07-14 23:43:36 +0000 |
| commit | 1a3fd1377679cff451a34ef1ac03a656b0ea2736 (patch) | |
| tree | 37845940658f620235b4175be3ee3aa7555c1b80 | |
| parent | 606047939c90ae185d2d9dfa98f314af9ffed793 (diff) | |
| download | bcm5719-llvm-1a3fd1377679cff451a34ef1ac03a656b0ea2736.tar.gz bcm5719-llvm-1a3fd1377679cff451a34ef1ac03a656b0ea2736.zip | |
COFF: Remove unnecessary explicit calls of Twine ctor.
llvm-svn: 275501
| -rw-r--r-- | lld/COFF/Driver.cpp | 8 | ||||
| -rw-r--r-- | lld/COFF/DriverUtils.cpp | 52 | ||||
| -rw-r--r-- | lld/COFF/InputFiles.cpp | 18 | ||||
| -rw-r--r-- | lld/COFF/PDB.cpp | 2 | ||||
| -rw-r--r-- | lld/COFF/Writer.cpp | 2 |
5 files changed, 41 insertions, 41 deletions
diff --git a/lld/COFF/Driver.cpp b/lld/COFF/Driver.cpp index 11dfccb0488..115ef4cfb8d 100644 --- a/lld/COFF/Driver.cpp +++ b/lld/COFF/Driver.cpp @@ -62,7 +62,7 @@ static std::string getOutputPath(StringRef Path) { // Newly created memory buffers are owned by this driver. MemoryBufferRef LinkerDriver::openFile(StringRef Path) { auto MBOrErr = MemoryBuffer::getFile(Path); - check(MBOrErr, Twine("Could not open ") + Path); + check(MBOrErr, "Could not open " + Path); std::unique_ptr<MemoryBuffer> &MB = *MBOrErr; MemoryBufferRef MBRef = MB->getMemBufferRef(); OwningMBs.push_back(std::move(MB)); // take ownership @@ -128,7 +128,7 @@ void LinkerDriver::parseDirectives(StringRef S) { case OPT_throwingnew: break; default: - fatal(Twine(Arg->getSpelling()) + " is not allowed in .drectve"); + fatal(Arg->getSpelling() + " is not allowed in .drectve"); } } } @@ -399,7 +399,7 @@ void LinkerDriver::link(llvm::ArrayRef<const char *> ArgsArr) { continue; } if (S != "ref" && S != "lbr" && S != "nolbr") - fatal(Twine("/opt: unknown option: ") + S); + fatal("/opt: unknown option: " + S); } } @@ -500,7 +500,7 @@ void LinkerDriver::link(llvm::ArrayRef<const char *> ArgsArr) { continue; } if (Config->Machine != MT) - fatal(Twine(File->getShortName()) + ": machine type " + machineToStr(MT) + + fatal(File->getShortName() + ": machine type " + machineToStr(MT) + " conflicts with " + machineToStr(Config->Machine)); } if (Config->Machine == IMAGE_FILE_MACHINE_UNKNOWN) { diff --git a/lld/COFF/DriverUtils.cpp b/lld/COFF/DriverUtils.cpp index 561490173cf..4a82415cfd6 100644 --- a/lld/COFF/DriverUtils.cpp +++ b/lld/COFF/DriverUtils.cpp @@ -50,7 +50,7 @@ public: void run() { ErrorOr<std::string> ExeOrErr = llvm::sys::findProgramByName(Prog); - check(ExeOrErr, Twine("unable to find ") + Prog + " in PATH: "); + check(ExeOrErr, "unable to find " + Prog + " in PATH: "); const char *Exe = Saver.save(*ExeOrErr); Args.insert(Args.begin(), Exe); Args.push_back(nullptr); @@ -82,7 +82,7 @@ MachineTypes getMachineType(StringRef S) { .Default(IMAGE_FILE_MACHINE_UNKNOWN); if (MT != IMAGE_FILE_MACHINE_UNKNOWN) return MT; - fatal(Twine("unknown /machine argument: ") + S); + fatal("unknown /machine argument: " + S); } StringRef machineToStr(MachineTypes MT) { @@ -103,9 +103,9 @@ void parseNumbers(StringRef Arg, uint64_t *Addr, uint64_t *Size) { StringRef S1, S2; std::tie(S1, S2) = Arg.split(','); if (S1.getAsInteger(0, *Addr)) - fatal(Twine("invalid number: ") + S1); + fatal("invalid number: " + S1); if (Size && !S2.empty() && S2.getAsInteger(0, *Size)) - fatal(Twine("invalid number: ") + S2); + fatal("invalid number: " + S2); } // Parses a string in the form of "<integer>[.<integer>]". @@ -114,10 +114,10 @@ void parseVersion(StringRef Arg, uint32_t *Major, uint32_t *Minor) { StringRef S1, S2; std::tie(S1, S2) = Arg.split('.'); if (S1.getAsInteger(0, *Major)) - fatal(Twine("invalid number: ") + S1); + fatal("invalid number: " + S1); *Minor = 0; if (!S2.empty() && S2.getAsInteger(0, *Minor)) - fatal(Twine("invalid number: ") + S2); + fatal("invalid number: " + S2); } // Parses a string in the form of "<subsystem>[,<integer>[.<integer>]]". @@ -137,7 +137,7 @@ void parseSubsystem(StringRef Arg, WindowsSubsystem *Sys, uint32_t *Major, .Case("windows", IMAGE_SUBSYSTEM_WINDOWS_GUI) .Default(IMAGE_SUBSYSTEM_UNKNOWN); if (*Sys == IMAGE_SUBSYSTEM_UNKNOWN) - fatal(Twine("unknown subsystem: ") + SysStr); + fatal("unknown subsystem: " + SysStr); if (!Ver.empty()) parseVersion(Ver, Major, Minor); } @@ -148,10 +148,10 @@ void parseAlternateName(StringRef S) { StringRef From, To; std::tie(From, To) = S.split('='); if (From.empty() || To.empty()) - fatal(Twine("/alternatename: invalid argument: ") + S); + fatal("/alternatename: invalid argument: " + S); auto It = Config->AlternateNames.find(From); if (It != Config->AlternateNames.end() && It->second != To) - fatal(Twine("/alternatename: conflicts: ") + S); + fatal("/alternatename: conflicts: " + S); Config->AlternateNames.insert(It, std::make_pair(From, To)); } @@ -161,7 +161,7 @@ void parseMerge(StringRef S) { StringRef From, To; std::tie(From, To) = S.split('='); if (From.empty() || To.empty()) - fatal(Twine("/merge: invalid argument: ") + S); + fatal("/merge: invalid argument: " + S); auto Pair = Config->Merge.insert(std::make_pair(From, To)); bool Inserted = Pair.second; if (!Inserted) { @@ -198,7 +198,7 @@ static uint32_t parseSectionAttributes(StringRef S) { Ret |= IMAGE_SCN_MEM_WRITE; break; default: - fatal(Twine("/section: invalid argument: ") + S); + fatal("/section: invalid argument: " + S); } } return Ret; @@ -209,7 +209,7 @@ void parseSection(StringRef S) { StringRef Name, Attrs; std::tie(Name, Attrs) = S.split(','); if (Name.empty() || Attrs.empty()) - fatal(Twine("/section: invalid argument: ") + S); + fatal("/section: invalid argument: " + S); Config->Section[Name] = parseSectionAttributes(Attrs); } @@ -221,16 +221,16 @@ void parseManifest(StringRef Arg) { return; } if (!Arg.startswith_lower("embed")) - fatal(Twine("Invalid option ") + Arg); + fatal("Invalid option " + Arg); Config->Manifest = Configuration::Embed; Arg = Arg.substr(strlen("embed")); if (Arg.empty()) return; if (!Arg.startswith_lower(",id=")) - fatal(Twine("Invalid option ") + Arg); + fatal("Invalid option " + Arg); Arg = Arg.substr(strlen(",id=")); if (Arg.getAsInteger(0, Config->ManifestID)) - fatal(Twine("Invalid option ") + Arg); + fatal("Invalid option " + Arg); } // Parses a string in the form of "level=<string>|uiAccess=<string>|NO". @@ -254,7 +254,7 @@ void parseManifestUAC(StringRef Arg) { std::tie(Config->ManifestUIAccess, Arg) = Arg.split(" "); continue; } - fatal(Twine("Invalid option ") + Arg); + fatal("Invalid option " + Arg); } } @@ -287,7 +287,7 @@ static std::string createDefaultXml() { // Open the temporary file for writing. llvm::raw_fd_ostream OS(Path, EC, sys::fs::F_Text); - check(EC, Twine("failed to open ") + Path); + check(EC, "failed to open " + Path); // Emit the XML. Note that we do *not* verify that the XML attributes are // syntactically correct. This is intentional for link.exe compatibility. @@ -360,7 +360,7 @@ std::unique_ptr<MemoryBuffer> createManifestRes() { // Open the temporary file for writing. llvm::raw_fd_ostream Out(RCPath, EC, sys::fs::F_Text); - check(EC, Twine("failed to open ") + RCPath); + check(EC, "failed to open " + RCPath); // Write resource script to the RC file. Out << "#define LANG_ENGLISH 9\n" @@ -385,14 +385,14 @@ std::unique_ptr<MemoryBuffer> createManifestRes() { E.add(RCPath.str()); E.run(); ErrorOr<std::unique_ptr<MemoryBuffer>> Ret = MemoryBuffer::getFile(ResPath); - check(Ret, Twine("Could not open ") + ResPath); + check(Ret, "Could not open " + ResPath); return std::move(*Ret); } void createSideBySideManifest() { std::string Path = Config->ManifestFile; if (Path == "") - Path = (Twine(Config->OutputFile) + ".manifest").str(); + Path = Config->OutputFile + ".manifest"; std::error_code EC; llvm::raw_fd_ostream Out(Path, EC, llvm::sys::fs::F_Text); check(EC, "failed to create manifest"); @@ -459,7 +459,7 @@ Export parseExport(StringRef Arg) { return E; err: - fatal(Twine("invalid /export: ") + Arg); + fatal("invalid /export: " + Arg); } static StringRef undecorate(StringRef Sym) { @@ -538,11 +538,11 @@ void checkFailIfMismatch(StringRef Arg) { StringRef K, V; std::tie(K, V) = Arg.split('='); if (K.empty() || V.empty()) - fatal(Twine("/failifmismatch: invalid argument: ") + Arg); + fatal("/failifmismatch: invalid argument: " + Arg); StringRef Existing = Config->MustMatch[K]; if (!Existing.empty() && V != Existing) - fatal(Twine("/failifmismatch: mismatch detected: ") + Existing + " and " + - V + " for key " + K); + fatal("/failifmismatch: mismatch detected: " + Existing + " and " + V + + " for key " + K); Config->MustMatch[K] = V; } @@ -565,7 +565,7 @@ convertResToCOFF(const std::vector<MemoryBufferRef> &MBs) { E.add(MB.getBufferIdentifier()); E.run(); ErrorOr<std::unique_ptr<MemoryBuffer>> Ret = MemoryBuffer::getFile(Path); - check(Ret, Twine("Could not open ") + Path); + check(Ret, "Could not open " + Path); return std::move(*Ret); } @@ -613,7 +613,7 @@ llvm::opt::InputArgList ArgParser::parse(ArrayRef<const char *> ArgsArr) { } if (MissingCount) - fatal(Twine("missing arg value for \"") + Args.getArgString(MissingIndex) + + fatal("missing arg value for \"" + Twine(Args.getArgString(MissingIndex)) + "\", expected " + Twine(MissingCount) + (MissingCount == 1 ? " argument." : " arguments.")); for (auto *Arg : Args.filtered(OPT_UNKNOWN)) diff --git a/lld/COFF/InputFiles.cpp b/lld/COFF/InputFiles.cpp index efe1f5521d5..e345f8fa391 100644 --- a/lld/COFF/InputFiles.cpp +++ b/lld/COFF/InputFiles.cpp @@ -89,14 +89,14 @@ void ArchiveFile::parse() { // This function is thread-safe. MemoryBufferRef ArchiveFile::getMember(const Archive::Symbol *Sym) { auto COrErr = Sym->getMember(); - check(COrErr, Twine("Could not get the member for symbol ") + Sym->getName()); + check(COrErr, "Could not get the member for symbol " + Sym->getName()); const Archive::Child &C = *COrErr; // Return an empty buffer if we have already returned the same buffer. if (Seen[C.getChildOffset()].test_and_set()) return MemoryBufferRef(); ErrorOr<MemoryBufferRef> Ret = C.getMemoryBufferRef(); - check(Ret, Twine("Could not get the buffer for the member defining symbol ") + + check(Ret, "Could not get the buffer for the member defining symbol " + Sym->getName()); return *Ret; } @@ -113,7 +113,7 @@ void ObjectFile::parse() { Bin.release(); COFFObj.reset(Obj); } else { - fatal(Twine(getName()) + " is not a COFF file."); + fatal(getName() + " is not a COFF file."); } // Read section and symbol tables. @@ -130,9 +130,9 @@ void ObjectFile::initializeChunks() { const coff_section *Sec; StringRef Name; std::error_code EC = COFFObj->getSection(I, Sec); - check(EC, Twine("getSection failed: #") + Twine(I)); + check(EC, "getSection failed: #" + Twine(I)); EC = COFFObj->getSectionName(Sec, Name); - check(EC, Twine("getSectionName failed: #") + Twine(I)); + check(EC, "getSectionName failed: #" + Twine(I)); if (Name == ".sxdata") { SXData = Sec; continue; @@ -167,7 +167,7 @@ void ObjectFile::initializeSymbols() { for (uint32_t I = 0; I < NumSymbols; ++I) { // Get a COFFSymbolRef object. auto SymOrErr = COFFObj->getSymbol(I); - check(SymOrErr, Twine("broken object file: ") + getName()); + check(SymOrErr, "broken object file: " + getName()); COFFSymbolRef Sym = *SymOrErr; @@ -231,12 +231,12 @@ Defined *ObjectFile::createDefined(COFFSymbolRef Sym, const void *AuxP, // Reserved sections numbers don't have contents. if (llvm::COFF::isReservedSectionNumber(SectionNumber)) - fatal(Twine("broken object file: ") + getName()); + fatal("broken object file: " + getName()); // This symbol references a section which is not present in the section // header. if ((uint32_t)SectionNumber >= SparseChunks.size()) - fatal(Twine("broken object file: ") + getName()); + fatal("broken object file: " + getName()); // Nothing else to do without a section chunk. auto *SC = cast_or_null<SectionChunk>(SparseChunks[SectionNumber]); @@ -296,7 +296,7 @@ void ImportFile::parse() { // Read names and create an __imp_ symbol. StringRef Name = StringAlloc.save(StringRef(Buf + sizeof(*Hdr))); - StringRef ImpName = StringAlloc.save(Twine("__imp_") + Name); + StringRef ImpName = StringAlloc.save("__imp_" + Name); const char *NameStart = Buf + sizeof(coff_import_header) + Name.size() + 1; DLLName = StringRef(NameStart); StringRef ExtName; diff --git a/lld/COFF/PDB.cpp b/lld/COFF/PDB.cpp index 7c60567c712..023e03cc9d5 100644 --- a/lld/COFF/PDB.cpp +++ b/lld/COFF/PDB.cpp @@ -38,7 +38,7 @@ void lld::coff::createPDB(StringRef Path) { size_t FileSize = PageSize * 3; ErrorOr<std::unique_ptr<FileOutputBuffer>> BufferOrErr = FileOutputBuffer::create(Path, FileSize); - check(BufferOrErr, Twine("failed to open ") + Path); + check(BufferOrErr, "failed to open " + Path); std::unique_ptr<FileOutputBuffer> Buffer = std::move(*BufferOrErr); // Write the file header. diff --git a/lld/COFF/Writer.cpp b/lld/COFF/Writer.cpp index d97a137c3ba..a7df515d8a9 100644 --- a/lld/COFF/Writer.cpp +++ b/lld/COFF/Writer.cpp @@ -653,7 +653,7 @@ template <typename PEHeaderTy> void Writer::writeHeader() { void Writer::openFile(StringRef Path) { ErrorOr<std::unique_ptr<FileOutputBuffer>> BufferOrErr = FileOutputBuffer::create(Path, FileSize, FileOutputBuffer::F_executable); - check(BufferOrErr, Twine("failed to open ") + Path); + check(BufferOrErr, "failed to open " + Path); Buffer = std::move(*BufferOrErr); } |

