Changes in directory llvm/lib/VMCore:
Verifier.cpp updated: 1.157 -> 1.158 --- Log message: Change the verifier to never throw an exception. Instead verifyModule canoptionally return the string error, which is an easier api for clients touse anyway. --- Diffs of the changes: (+7 -8) Verifier.cpp | 15 +++++++-------- 1 files changed, 7 insertions(+), 8 deletions(-) Index: llvm/lib/VMCore/Verifier.cpp diff -u llvm/lib/VMCore/Verifier.cpp:1.157 llvm/lib/VMCore/Verifier.cpp:1.158 --- llvm/lib/VMCore/Verifier.cpp:1.157 Wed Jun 28 16:38:54 2006 +++ llvm/lib/VMCore/Verifier.cpp Thu Jul 6 13:01:23 2006 @@ -152,18 +152,13 @@ /// this condition, do so. /// void abortIfBroken() { - if (Broken) - { + if (Broken) { msgs << "Broken module found, "; - switch (action) - { + switch (action) { case AbortProcessAction: msgs << "compilation aborted!\n"; std::cerr << msgs.str(); abort(); - case ThrowExceptionAction: - msgs << "verification terminated.\n"; - throw msgs.str(); case PrintMessageAction: msgs << "verification continues.\n"; std::cerr << msgs.str(); @@ -799,11 +794,15 @@ /// verifyModule - Check a module for errors, printing messages on stderr. /// Return true if the module is corrupt. /// -bool llvm::verifyModule(const Module &M, VerifierFailureAction action) { +bool llvm::verifyModule(const Module &M, VerifierFailureAction action, + std::string *ErrorInfo) { PassManager PM; Verifier *V = new Verifier(action); PM.add(V); PM.run((Module&)M); + + if (ErrorInfo && V->Broken) + *ErrorInfo = V->msgs.str(); return V->Broken; } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits