diff options
author | Devang Patel <dpatel@apple.com> | 2006-10-09 20:20:13 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2006-10-09 20:20:13 +0000 |
commit | 060c4857ca6014f26684ba3b0f5e8840baf344fc (patch) | |
tree | 54381477a8964b1b91a6fc219513a7d06498dce2 | |
parent | dfa8d9258ae6d0b28d13e3e51d104f3d628b27d2 (diff) | |
download | bcm5719-llvm-060c4857ca6014f26684ba3b0f5e8840baf344fc.tar.gz bcm5719-llvm-060c4857ca6014f26684ba3b0f5e8840baf344fc.zip |
Do error checking.
llvm-svn: 30842
-rw-r--r-- | llvm/tools/lto/lto.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/llvm/tools/lto/lto.cpp b/llvm/tools/lto/lto.cpp index aeced8df0d3..a64130dc7ad 100644 --- a/llvm/tools/lto/lto.cpp +++ b/llvm/tools/lto/lto.cpp @@ -344,6 +344,10 @@ LTO::optimizeModules(const std::string &OutputFilename, 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 @@ LTO::optimizeModules(const std::string &OutputFilename, 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); |