summaryrefslogtreecommitdiffstats
path: root/llvm/tools/gccld/gccld.cpp
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2006-08-21 06:04:45 +0000
committerReid Spencer <rspencer@reidspencer.com>2006-08-21 06:04:45 +0000
commit944645af44c24985fe92f7dc3f1b7af085db97e7 (patch)
treeb0199041630017c07f2c514afdca1240ed2cc7e8 /llvm/tools/gccld/gccld.cpp
parent42bcf6ea76b26ba1eee23d12e13ce197d2b4d0e7 (diff)
downloadbcm5719-llvm-944645af44c24985fe92f7dc3f1b7af085db97e7.tar.gz
bcm5719-llvm-944645af44c24985fe92f7dc3f1b7af085db97e7.zip
For PR797:
Adjust usage of the ExecuteAndWait function to use the last argument which is the ErrMsg string. This is necessitated because this function no longer throws exceptions on error. llvm-svn: 29791
Diffstat (limited to 'llvm/tools/gccld/gccld.cpp')
-rw-r--r--llvm/tools/gccld/gccld.cpp29
1 files changed, 22 insertions, 7 deletions
diff --git a/llvm/tools/gccld/gccld.cpp b/llvm/tools/gccld/gccld.cpp
index 22a26ef91a7..a9df06d69c7 100644
--- a/llvm/tools/gccld/gccld.cpp
+++ b/llvm/tools/gccld/gccld.cpp
@@ -320,12 +320,19 @@ int main(int argc, char **argv, char **envp ) {
// Generate an assembly language file for the bytecode.
if (Verbose) std::cout << "Generating Assembly Code\n";
- GenerateAssembly(AssemblyFile.toString(), RealBytecodeOutput, llc,
- Verbose);
+ std::string ErrMsg;
+ if (0 != GenerateAssembly(
+ AssemblyFile.toString(), RealBytecodeOutput, llc, ErrMsg, Verbose)) {
+ std::cerr << argv[0] << ": " << ErrMsg << "\n";
+ return 2;
+ }
if (Verbose) std::cout << "Generating Native Code\n";
- GenerateNative(OutputFilename, AssemblyFile.toString(),
+ if (0 != GenerateNative(OutputFilename, AssemblyFile.toString(),
LibPaths, Libraries, gcc, envp, LinkAsLibrary,
- NoInternalize, RPath, SOName, Verbose);
+ NoInternalize, RPath, SOName, ErrMsg, Verbose) ) {
+ std::cerr << argv[0] << ": " << ErrMsg << "\n";
+ return 2;
+ }
if (!SaveTemps) {
// Remove the assembly language file.
@@ -353,11 +360,19 @@ int main(int argc, char **argv, char **envp ) {
// Generate an assembly language file for the bytecode.
if (Verbose) std::cout << "Generating C Source Code\n";
- GenerateCFile(CFile.toString(), RealBytecodeOutput, llc, Verbose);
+ std::string ErrMsg;
+ if (0 != GenerateCFile(
+ CFile.toString(), RealBytecodeOutput, llc, ErrMsg, Verbose)) {
+ std::cerr << argv[0] << ": " << ErrMsg << "\n";
+ return 2;
+ }
if (Verbose) std::cout << "Generating Native Code\n";
- GenerateNative(OutputFilename, CFile.toString(),
+ if (0 != GenerateNative(OutputFilename, CFile.toString(),
LibPaths, Libraries, gcc, envp, LinkAsLibrary,
- NoInternalize, RPath, SOName, Verbose);
+ NoInternalize, RPath, SOName, ErrMsg, Verbose)) {
+ std::cerr << argv[0] << ": " << ErrMsg << "\n";
+ return 2;
+ }
if (!SaveTemps) {
// Remove the assembly language file.
OpenPOWER on IntegriCloud