[llvm] r287276 - [lli] Factor out error handling. NFCI.

Davide Italiano via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 17 14:58:13 PST 2016


Author: davide
Date: Thu Nov 17 16:58:13 2016
New Revision: 287276

URL: http://llvm.org/viewvc/llvm-project?rev=287276&view=rev
Log:
[lli] Factor out error handling. NFCI.

Modified:
    llvm/trunk/tools/lli/lli.cpp

Modified: llvm/trunk/tools/lli/lli.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/lli.cpp?rev=287276&r1=287275&r2=287276&view=diff
==============================================================================
--- llvm/trunk/tools/lli/lli.cpp (original)
+++ llvm/trunk/tools/lli/lli.cpp Thu Nov 17 16:58:13 2016
@@ -357,6 +357,12 @@ CodeGenOpt::Level getOptLevel() {
   llvm_unreachable("Unrecognized opt level.");
 }
 
+LLVM_ATTRIBUTE_NORETURN
+static void reportError(SMDiagnostic Err, const char *ProgName) {
+  Err.print(ProgName, errs());
+  exit(1);
+}
+
 //===----------------------------------------------------------------------===//
 // main Driver function
 //
@@ -388,20 +394,16 @@ int main(int argc, char **argv, char * c
   SMDiagnostic Err;
   std::unique_ptr<Module> Owner = parseIRFile(InputFile, Err, Context);
   Module *Mod = Owner.get();
-  if (!Mod) {
-    Err.print(argv[0], errs());
-    return 1;
-  }
+  if (!Mod)
+    reportError(Err, argv[0]);
 
   if (UseJITKind == JITKind::OrcLazy) {
     std::vector<std::unique_ptr<Module>> Ms;
     Ms.push_back(std::move(Owner));
     for (auto &ExtraMod : ExtraModules) {
       Ms.push_back(parseIRFile(ExtraMod, Err, Context));
-      if (!Ms.back()) {
-        Err.print(argv[0], errs());
-        return 1;
-      }
+      if (!Ms.back())
+        reportError(Err, argv[0]);
     }
     std::vector<std::string> Args;
     Args.push_back(InputFile);
@@ -486,10 +488,8 @@ int main(int argc, char **argv, char * c
   // Load any additional modules specified on the command line.
   for (unsigned i = 0, e = ExtraModules.size(); i != e; ++i) {
     std::unique_ptr<Module> XMod = parseIRFile(ExtraModules[i], Err, Context);
-    if (!XMod) {
-      Err.print(argv[0], errs());
-      return 1;
-    }
+    if (!XMod)
+      reportError(Err, argv[0]);
     if (EnableCacheManager) {
       std::string CacheName("file:");
       CacheName.append(ExtraModules[i]);
@@ -504,8 +504,7 @@ int main(int argc, char **argv, char * c
     if (!Obj) {
       // TODO: Actually report errors helpfully.
       consumeError(Obj.takeError());
-      Err.print(argv[0], errs());
-      return 1;
+      reportError(Err, argv[0]);
     }
     object::OwningBinary<object::ObjectFile> &O = Obj.get();
     EE->addObjectFile(std::move(O));
@@ -514,10 +513,8 @@ int main(int argc, char **argv, char * c
   for (unsigned i = 0, e = ExtraArchives.size(); i != e; ++i) {
     ErrorOr<std::unique_ptr<MemoryBuffer>> ArBufOrErr =
         MemoryBuffer::getFileOrSTDIN(ExtraArchives[i]);
-    if (!ArBufOrErr) {
-      Err.print(argv[0], errs());
-      return 1;
-    }
+    if (!ArBufOrErr)
+      reportError(Err, argv[0]);
     std::unique_ptr<MemoryBuffer> &ArBuf = ArBufOrErr.get();
 
     Expected<std::unique_ptr<object::Archive>> ArOrErr =




More information about the llvm-commits mailing list