[lld] r275501 - COFF: Remove unnecessary explicit calls of Twine ctor.
Rui Ueyama via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 14 16:43:36 PDT 2016
Author: ruiu
Date: Thu Jul 14 18:43:36 2016
New Revision: 275501
URL: http://llvm.org/viewvc/llvm-project?rev=275501&view=rev
Log:
COFF: Remove unnecessary explicit calls of Twine ctor.
Modified:
lld/trunk/COFF/Driver.cpp
lld/trunk/COFF/DriverUtils.cpp
lld/trunk/COFF/InputFiles.cpp
lld/trunk/COFF/PDB.cpp
lld/trunk/COFF/Writer.cpp
Modified: lld/trunk/COFF/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Driver.cpp?rev=275501&r1=275500&r2=275501&view=diff
==============================================================================
--- lld/trunk/COFF/Driver.cpp (original)
+++ lld/trunk/COFF/Driver.cpp Thu Jul 14 18:43:36 2016
@@ -62,7 +62,7 @@ static std::string getOutputPath(StringR
// 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(Strin
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<c
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<c
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) {
Modified: lld/trunk/COFF/DriverUtils.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/DriverUtils.cpp?rev=275501&r1=275500&r2=275501&view=diff
==============================================================================
--- lld/trunk/COFF/DriverUtils.cpp (original)
+++ lld/trunk/COFF/DriverUtils.cpp Thu Jul 14 18:43:36 2016
@@ -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_
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_
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, Windo
.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(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> createMani
// 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> createMani
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<Memor
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
}
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))
Modified: lld/trunk/COFF/InputFiles.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/InputFiles.cpp?rev=275501&r1=275500&r2=275501&view=diff
==============================================================================
--- lld/trunk/COFF/InputFiles.cpp (original)
+++ lld/trunk/COFF/InputFiles.cpp Thu Jul 14 18:43:36 2016
@@ -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(COFFS
// 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;
Modified: lld/trunk/COFF/PDB.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/PDB.cpp?rev=275501&r1=275500&r2=275501&view=diff
==============================================================================
--- lld/trunk/COFF/PDB.cpp (original)
+++ lld/trunk/COFF/PDB.cpp Thu Jul 14 18:43:36 2016
@@ -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.
Modified: lld/trunk/COFF/Writer.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Writer.cpp?rev=275501&r1=275500&r2=275501&view=diff
==============================================================================
--- lld/trunk/COFF/Writer.cpp (original)
+++ lld/trunk/COFF/Writer.cpp Thu Jul 14 18:43:36 2016
@@ -653,7 +653,7 @@ template <typename PEHeaderTy> void Writ
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);
}
More information about the llvm-commits
mailing list