Do not return a bool value from error().
authorRui Ueyama <ruiu@google.com>
Sun, 13 Mar 2016 04:25:41 +0000 (04:25 +0000)
committerRui Ueyama <ruiu@google.com>
Sun, 13 Mar 2016 04:25:41 +0000 (04:25 +0000)
error returned true if there was an error. This allows us to replace
the code like this

  if (EC) {
    error(EC, "something failed");
    return;
  }

with

  if (error(EC, "something failed"))
    return;

I thought that that was a good idea, but it turned out that we only
have two places to use this pattern. So this patch removes that feature.

llvm-svn: 263362

lld/ELF/Driver.cpp
lld/ELF/Error.cpp
lld/ELF/Error.h
lld/ELF/Writer.cpp

index b95795e..b22407d 100644 (file)
@@ -92,8 +92,10 @@ void LinkerDriver::addFile(StringRef Path) {
   using namespace llvm::sys::fs;
   log(Path);
   auto MBOrErr = MemoryBuffer::getFile(Path);
-  if (error(MBOrErr, "cannot open " + Path))
+  if (!MBOrErr) {
+    error(MBOrErr, "cannot open " + Path);
     return;
+  }
   std::unique_ptr<MemoryBuffer> &MB = *MBOrErr;
   MemoryBufferRef MBRef = MB->getMemBufferRef();
   OwningMBs.push_back(std::move(MB)); // take MB ownership
index 9e42910..beda4af 100644 (file)
@@ -31,18 +31,14 @@ void error(const Twine &Msg) {
   HasError = true;
 }
 
-bool error(std::error_code EC, const Twine &Prefix) {
-  if (!EC)
-    return false;
-  error(Prefix + ": " + EC.message());
-  return true;
+void error(std::error_code EC, const Twine &Prefix) {
+  if (EC)
+    error(Prefix + ": " + EC.message());
 }
 
-bool error(std::error_code EC) {
-  if (!EC)
-    return false;
-  error(EC.message());
-  return true;
+void error(std::error_code EC) {
+  if (EC)
+    error(EC.message());
 }
 
 void fatal(const Twine &Msg) {
index cf3bd89..05a3e0a 100644 (file)
@@ -22,14 +22,14 @@ void log(const Twine &Msg);
 void warning(const Twine &Msg);
 
 void error(const Twine &Msg);
-bool error(std::error_code EC, const Twine &Prefix);
-bool error(std::error_code EC);
+void error(std::error_code EC, const Twine &Prefix);
+void error(std::error_code EC);
 
-template <typename T> bool error(const ErrorOr<T> &V, const Twine &Prefix) {
+template <typename T> void error(const ErrorOr<T> &V, const Twine &Prefix) {
   return error(V.getError(), Prefix);
 }
 
-template <typename T> bool error(const ErrorOr<T> &V) {
+template <typename T> void error(const ErrorOr<T> &V) {
   return error(V.getError());
 }
 
index 4887c66..7ccd68d 100644 (file)
@@ -1534,8 +1534,10 @@ template <class ELFT> bool Writer<ELFT>::openFile() {
   ErrorOr<std::unique_ptr<FileOutputBuffer>> BufferOrErr =
       FileOutputBuffer::create(Config->OutputFile, FileSize,
                                FileOutputBuffer::F_executable);
-  if (error(BufferOrErr, "failed to open " + Config->OutputFile))
+  if (!BufferOrErr) {
+    error(BufferOrErr, "failed to open " + Config->OutputFile);
     return false;
+  }
   Buffer = std::move(*BufferOrErr);
   return true;
 }