Actually, use an exception to stop verification. This gives us much better
error messages because verification stops at the first error.
llvm-svn: 14794
diff --git a/llvm/tools/llvm-as/llvm-as.cpp b/llvm/tools/llvm-as/llvm-as.cpp
index 406f3e3..0f16db9 100644
--- a/llvm/tools/llvm-as/llvm-as.cpp
+++ b/llvm/tools/llvm-as/llvm-as.cpp
@@ -57,9 +57,13 @@
return 1;
}
- if (!DisableVerify && verifyModule(*M.get(), PrintMessageAction)) {
+ try {
+ if (!DisableVerify)
+ verifyModule(*M.get(), ThrowExceptionAction);
+ } catch (const std::string &Err) {
std::cerr << argv[0]
<< ": assembly parsed, but does not verify as correct!\n";
+ std::cerr << Err;
return 1;
}