mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-07-22 09:29:31 +00:00
For PR351:
* Place a try/catch block around the entire tool to Make sure std::string exceptions are caught and printed before exiting the tool. * Make sure we catch unhandled exceptions at the top level so that we don't abort with a useless message but indicate than an unhandled exception was generated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19192 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c18671cdcd
commit
1ef8bdaedb
@ -116,6 +116,7 @@ namespace {
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
try {
|
||||
cl::ParseCommandLineOptions(argc, argv, " llvm analysis printer tool\n");
|
||||
sys::PrintStackTraceOnErrorSignal();
|
||||
|
||||
@ -170,4 +171,11 @@ int main(int argc, char **argv) {
|
||||
|
||||
delete CurMod;
|
||||
return 0;
|
||||
|
||||
} catch (const std::string& msg) {
|
||||
std::cerr << argv[0] << ": " << msg << "\n";
|
||||
} catch (...) {
|
||||
std::cerr << argv[0] << ": Unexpected unknown exception occurred.\n";
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -51,10 +51,11 @@ int main(int argc, char **argv) {
|
||||
return D.run();
|
||||
} catch (ToolExecutionError &TEE) {
|
||||
std::cerr << "Tool execution error: " << TEE.what() << '\n';
|
||||
return 1;
|
||||
} catch (const std::string& msg) {
|
||||
std::cerr << argv[0] << ": " << msg << "\n";
|
||||
} catch (...) {
|
||||
std::cerr << "Whoops, an exception leaked out of bugpoint. "
|
||||
<< "This is a bug in bugpoint!\n";
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
@ -45,6 +45,7 @@ ExtractFunc("func", cl::desc("Specify function to extract"), cl::init("main"),
|
||||
cl::value_desc("function"));
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
try {
|
||||
cl::ParseCommandLineOptions(argc, argv, " llvm extractor\n");
|
||||
sys::PrintStackTraceOnErrorSignal();
|
||||
|
||||
@ -94,4 +95,10 @@ int main(int argc, char **argv) {
|
||||
if (Out != &std::cout)
|
||||
delete Out;
|
||||
return 0;
|
||||
} catch (const std::string& msg) {
|
||||
std::cerr << argv[0] << ": " << msg << "\n";
|
||||
} catch (...) {
|
||||
std::cerr << argv[0] << ": Unexpected unknown exception occurred.\n";
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -128,7 +128,9 @@ void AddConfiguredTransformationPasses(PassManager &PM) {
|
||||
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
cl::ParseCommandLineOptions(argc, argv, " llvm .s -> .o assembler for GCC\n");
|
||||
try {
|
||||
cl::ParseCommandLineOptions(argc, argv,
|
||||
" llvm .s -> .o assembler for GCC\n");
|
||||
sys::PrintStackTraceOnErrorSignal();
|
||||
|
||||
std::auto_ptr<Module> M;
|
||||
@ -201,4 +203,10 @@ int main(int argc, char **argv) {
|
||||
|
||||
if (Out != &std::cout) delete Out;
|
||||
return 0;
|
||||
} catch (const std::string& msg) {
|
||||
std::cerr << argv[0] << ": " << msg << "\n";
|
||||
} catch (...) {
|
||||
std::cerr << argv[0] << ": Unexpected unknown exception occurred.\n";
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -63,6 +63,7 @@ GetFileNameRoot(const std::string &InputFilename) {
|
||||
// main - Entry point for the llc compiler.
|
||||
//
|
||||
int main(int argc, char **argv) {
|
||||
try {
|
||||
cl::ParseCommandLineOptions(argc, argv, " llvm system compiler\n");
|
||||
sys::PrintStackTraceOnErrorSignal();
|
||||
|
||||
@ -169,4 +170,10 @@ int main(int argc, char **argv) {
|
||||
if (Out != &std::cout) delete Out;
|
||||
|
||||
return 0;
|
||||
} catch (const std::string& msg) {
|
||||
std::cerr << argv[0] << ": " << msg << "\n";
|
||||
} catch (...) {
|
||||
std::cerr << argv[0] << ": Unexpected unknown exception occurred.\n";
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -47,6 +47,7 @@ namespace {
|
||||
// main Driver function
|
||||
//
|
||||
int main(int argc, char **argv, char * const *envp) {
|
||||
try {
|
||||
cl::ParseCommandLineOptions(argc, argv,
|
||||
" llvm interpreter & dynamic compiler\n");
|
||||
sys::PrintStackTraceOnErrorSignal();
|
||||
@ -105,4 +106,10 @@ int main(int argc, char **argv, char * const *envp) {
|
||||
|
||||
std::cerr << "ERROR: exit(" << Result << ") returned!\n";
|
||||
abort();
|
||||
} catch (const std::string& msg) {
|
||||
std::cerr << argv[0] << ": " << msg << "\n";
|
||||
} catch (...) {
|
||||
std::cerr << argv[0] << ": Unexpected unknown exception occurred.\n";
|
||||
}
|
||||
abort();
|
||||
}
|
||||
|
@ -52,6 +52,7 @@ int main(int argc, char **argv) {
|
||||
cl::ParseCommandLineOptions(argc, argv, " llvm .ll -> .bc assembler\n");
|
||||
sys::PrintStackTraceOnErrorSignal();
|
||||
|
||||
int exitCode = 0;
|
||||
std::ostream *Out = 0;
|
||||
try {
|
||||
// Parse the file now...
|
||||
@ -126,10 +127,16 @@ int main(int argc, char **argv) {
|
||||
WriteBytecodeToFile(M.get(), *Out, !NoCompress);
|
||||
} catch (const ParseException &E) {
|
||||
std::cerr << argv[0] << ": " << E.getMessage() << "\n";
|
||||
return 1;
|
||||
exitCode = 1;
|
||||
} catch (const std::string& msg) {
|
||||
std::cerr << argv[0] << ": " << msg << "\n";
|
||||
exitCode = 1;
|
||||
} catch (...) {
|
||||
std::cerr << argv[0] << ": Unexpected unknown exception occurred.\n";
|
||||
exitCode = 1;
|
||||
}
|
||||
|
||||
if (Out != &std::cout) delete Out;
|
||||
return 0;
|
||||
return exitCode;
|
||||
}
|
||||
|
||||
|
@ -49,8 +49,8 @@ static cl::opt<bool> Dump ("dump", cl::desc("Dump low level bytecode trace"
|
||||
static cl::opt<bool> Verify ("verify", cl::desc("Progressively verify module"));
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
main(int argc, char **argv) {
|
||||
try {
|
||||
cl::ParseCommandLineOptions(argc, argv,
|
||||
" llvm-bcanalyzer Analysis of ByteCode Dumper\n");
|
||||
|
||||
@ -95,6 +95,12 @@ main(int argc, char **argv)
|
||||
delete Out;
|
||||
}
|
||||
return 0;
|
||||
} catch (const std::string& msg) {
|
||||
std::cerr << argv[0] << ": " << msg << "\n";
|
||||
} catch (...) {
|
||||
std::cerr << argv[0] << ": Unexpected unknown exception occurred.\n";
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
// vim: sw=2
|
||||
|
@ -50,6 +50,7 @@ namespace {
|
||||
// main Driver function
|
||||
//
|
||||
int main(int argc, char **argv, char * const *envp) {
|
||||
try {
|
||||
cl::ParseCommandLineOptions(argc, argv,
|
||||
" llvm source-level debugger\n");
|
||||
sys::PrintStackTraceOnErrorSignal();
|
||||
@ -85,4 +86,10 @@ int main(int argc, char **argv, char * const *envp) {
|
||||
|
||||
// Now that we have initialized the debugger, run it.
|
||||
return D.run();
|
||||
} catch (const std::string& msg) {
|
||||
std::cerr << argv[0] << ": " << msg << "\n";
|
||||
} catch (...) {
|
||||
std::cerr << argv[0] << ": Unexpected unknown exception occurred.\n";
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -41,6 +41,7 @@ static cl::opt<bool>
|
||||
CWriteMode("c", cl::desc("Obsolete option, do not use"), cl::ReallyHidden);
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
try {
|
||||
cl::ParseCommandLineOptions(argc, argv, " llvm .bc -> .ll disassembler\n");
|
||||
sys::PrintStackTraceOnErrorSignal();
|
||||
|
||||
@ -117,5 +118,11 @@ int main(int argc, char **argv) {
|
||||
delete Out;
|
||||
}
|
||||
return 0;
|
||||
} catch (const std::string& msg) {
|
||||
std::cerr << argv[0] << ": " << msg << "\n";
|
||||
} catch (...) {
|
||||
std::cerr << argv[0] << ": Unexpected unknown exception occurred.\n";
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -45,6 +45,7 @@ ExtractFunc("func", cl::desc("Specify function to extract"), cl::init("main"),
|
||||
cl::value_desc("function"));
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
try {
|
||||
cl::ParseCommandLineOptions(argc, argv, " llvm extractor\n");
|
||||
sys::PrintStackTraceOnErrorSignal();
|
||||
|
||||
@ -94,4 +95,10 @@ int main(int argc, char **argv) {
|
||||
if (Out != &std::cout)
|
||||
delete Out;
|
||||
return 0;
|
||||
} catch (const std::string& msg) {
|
||||
std::cerr << argv[0] << ": " << msg << "\n";
|
||||
} catch (...) {
|
||||
std::cerr << argv[0] << ": Unexpected unknown exception occurred.\n";
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -389,6 +389,7 @@ extern void Optimize(Module*);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv, char **envp) {
|
||||
try {
|
||||
// Initial global variable above for convenience printing of program name.
|
||||
progname = sys::Path(argv[0]).getBasename();
|
||||
Linker TheLinker(progname, Verbose);
|
||||
@ -511,4 +512,10 @@ int main(int argc, char **argv, char **envp) {
|
||||
}
|
||||
|
||||
return 0;
|
||||
} catch (const std::string& msg) {
|
||||
std::cerr << argv[0] << ": " << msg << "\n";
|
||||
} catch (...) {
|
||||
std::cerr << argv[0] << ": Unexpected unknown exception occurred.\n";
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -75,6 +75,7 @@ static inline std::auto_ptr<Module> LoadFile(const std::string &FN) {
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
try {
|
||||
cl::ParseCommandLineOptions(argc, argv, " llvm linker\n");
|
||||
sys::PrintStackTraceOnErrorSignal();
|
||||
assert(InputFilenames.size() > 0 && "OneOrMore is not working");
|
||||
@ -141,4 +142,10 @@ int main(int argc, char **argv) {
|
||||
|
||||
if (Out != &std::cout) delete Out;
|
||||
return 0;
|
||||
} catch (const std::string& msg) {
|
||||
std::cerr << argv[0] << ": " << msg << "\n";
|
||||
} catch (...) {
|
||||
std::cerr << argv[0] << ": Unexpected unknown exception occurred.\n";
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -152,6 +152,7 @@ void DumpSymbolNamesFromFile (std::string &Filename) {
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
try {
|
||||
cl::ParseCommandLineOptions(argc, argv, " llvm symbol table dumper\n");
|
||||
sys::PrintStackTraceOnErrorSignal();
|
||||
|
||||
@ -168,4 +169,10 @@ int main(int argc, char **argv) {
|
||||
std::for_each (InputFilenames.begin (), InputFilenames.end (),
|
||||
DumpSymbolNamesFromFile);
|
||||
return 0;
|
||||
} catch (const std::string& msg) {
|
||||
std::cerr << argv[0] << ": " << msg << "\n";
|
||||
} catch (...) {
|
||||
std::cerr << argv[0] << ": Unexpected unknown exception occurred.\n";
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -107,6 +107,7 @@ namespace {
|
||||
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
try {
|
||||
cl::ParseCommandLineOptions(argc, argv, " llvm profile dump decoder\n");
|
||||
sys::PrintStackTraceOnErrorSignal();
|
||||
|
||||
@ -227,4 +228,10 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
|
||||
return 0;
|
||||
} catch (const std::string& msg) {
|
||||
std::cerr << argv[0] << ": " << msg << "\n";
|
||||
} catch (...) {
|
||||
std::cerr << argv[0] << ": Unexpected unknown exception occurred.\n";
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -368,4 +368,5 @@ int main(int argc, char **argv) {
|
||||
} catch (...) {
|
||||
std::cerr << argv[0] << ": Unexpected unknown exception occurred.\n";
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -70,6 +70,7 @@ QuietA("quiet", cl::desc("Alias for -q"), cl::aliasopt(Quiet));
|
||||
// main for opt
|
||||
//
|
||||
int main(int argc, char **argv) {
|
||||
try {
|
||||
cl::ParseCommandLineOptions(argc, argv,
|
||||
" llvm .bc -> .bc modular optimizer\n");
|
||||
sys::PrintStackTraceOnErrorSignal();
|
||||
@ -168,4 +169,10 @@ int main(int argc, char **argv) {
|
||||
Passes.run(*M.get());
|
||||
|
||||
return 0;
|
||||
} catch (const std::string& msg) {
|
||||
std::cerr << argv[0] << ": " << msg << "\n";
|
||||
} catch (...) {
|
||||
std::cerr << argv[0] << ": Unexpected unknown exception occurred.\n";
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user