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

Devang Patel dpatel at apple.com
Mon Oct 9 13:20:27 PDT 2006



Changes in directory llvm/tools/lto:

lto.cpp updated: 1.18 -> 1.19
---
Log message:

Do error checking.


---
Diffs of the changes:  (+8 -1)

 lto.cpp |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletion(-)


Index: llvm/tools/lto/lto.cpp
diff -u llvm/tools/lto/lto.cpp:1.18 llvm/tools/lto/lto.cpp:1.19
--- llvm/tools/lto/lto.cpp:1.18	Mon Oct  9 14:04:51 2006
+++ llvm/tools/lto/lto.cpp	Mon Oct  9 15:20:13 2006
@@ -344,6 +344,10 @@
 
   std::string ErrMsg;
   sys::Path TempDir = sys::Path::GetTemporaryDirectory(&ErrMsg);
+  if (TempDir.isEmpty()) {
+    std::cerr << "lto: " << ErrMsg << "\n";
+    return LTO_WRITE_FAILURE;
+  }
   sys::Path tmpAsmFilePath(TempDir);
   if (!tmpAsmFilePath.appendComponent("lto")) {
     std::cerr << "lto: " << ErrMsg << "\n";
@@ -399,7 +403,10 @@
   args.push_back(tmpAsmFilePath.c_str());
   args.push_back(0);
 
-  sys::Program::ExecuteAndWait(gcc, &args[0], 0, 0, 1);
+  if (sys::Program::ExecuteAndWait(gcc, &args[0], 0, 0, 1, &ErrMsg)) {
+    std::cerr << "lto: " << ErrMsg << "\n";
+    return LTO_ASM_FAILURE;
+  }
 
   tmpAsmFilePath.eraseFromDisk();
   TempDir.eraseFromDisk(true);






More information about the llvm-commits mailing list