aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/analyze/analyze.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/tools/analyze/analyze.cpp b/tools/analyze/analyze.cpp
index 3bc2ee9e22..112bfcc04b 100644
--- a/tools/analyze/analyze.cpp
+++ b/tools/analyze/analyze.cpp
@@ -259,9 +259,14 @@ struct {
int main(int argc, char **argv) {
cl::ParseCommandLineOptions(argc, argv, " llvm analysis printer tool\n");
- CurrentModule = ParseBytecodeFile(InputFilename);
- if (!CurrentModule && !(CurrentModule = ParseAssemblyFile(InputFilename))) {
- std::cerr << "Input file didn't read correctly.\n";
+ try {
+ CurrentModule = ParseBytecodeFile(InputFilename);
+ if (!CurrentModule && !(CurrentModule = ParseAssemblyFile(InputFilename))){
+ std::cerr << "Input file didn't read correctly.\n";
+ return 1;
+ }
+ } catch (const ParseException &E) {
+ cerr << E.getMessage() << endl;
return 1;
}