From 9f5d48bcb1c6e72363567089242960bfde5171bb Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Mon, 9 Oct 2006 20:20:13 +0000 Subject: Do error checking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30842 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/lto/lto.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'tools') diff --git a/tools/lto/lto.cpp b/tools/lto/lto.cpp index aeced8df0d..a64130dc7a 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); -- cgit v1.2.3