From: Devang Patel Date: Mon, 9 Oct 2006 20:20:13 +0000 (+0000) Subject: Do error checking. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9f5d48bcb1c6e72363567089242960bfde5171bb;p=oota-llvm.git Do error checking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30842 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/lto/lto.cpp b/tools/lto/lto.cpp index aeced8df0d3..a64130dc7ad 100644 --- a/tools/lto/lto.cpp +++ b/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);