[llvm-commits] CVS: llvm/tools/gccld/gccld.cpp

Reid Spencer reid at x10sys.com
Tue Aug 22 16:27:39 PDT 2006



Changes in directory llvm/tools/gccld:

gccld.cpp updated: 1.109 -> 1.110
---
Log message:

For PR797: http://llvm.org/PR797 :
Change the Path::make*OnDisk methods exception free and adjust their usage.


---
Diffs of the changes:  (+14 -4)

 gccld.cpp |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)


Index: llvm/tools/gccld/gccld.cpp
diff -u llvm/tools/gccld/gccld.cpp:1.109 llvm/tools/gccld/gccld.cpp:1.110
--- llvm/tools/gccld/gccld.cpp:1.109	Mon Aug 21 01:04:45 2006
+++ llvm/tools/gccld/gccld.cpp	Tue Aug 22 18:27:22 2006
@@ -385,13 +385,23 @@
       EmitShellScript(argv);
 
       // Make the bytecode file readable and directly executable in LLEE
-      sys::Path(RealBytecodeOutput).makeExecutableOnDisk();
-      sys::Path(RealBytecodeOutput).makeReadableOnDisk();
+      std::string ErrMsg;
+      if (sys::Path(RealBytecodeOutput).makeExecutableOnDisk(&ErrMsg)) {
+        std::cerr << argv[0] << ": " << ErrMsg << "\n";
+        return 1;
+      }
+      if (sys::Path(RealBytecodeOutput).makeReadableOnDisk(&ErrMsg)) {
+        std::cerr << argv[0] << ": " << ErrMsg << "\n";
+        return 1;
+      }
     }
 
     // Make the output, whether native or script, executable as well...
-    sys::Path(OutputFilename).makeExecutableOnDisk();
-
+    std::string ErrMsg;
+    if (sys::Path(OutputFilename).makeExecutableOnDisk(&ErrMsg)) {
+      std::cerr << argv[0] << ": " << ErrMsg << "\n";
+      return 1;
+    }
   } catch (const char*msg) {
     std::cerr << argv[0] << ": " << msg << "\n";
     exitCode = 1;






More information about the llvm-commits mailing list