aboutsummaryrefslogtreecommitdiff
path: root/lib/Bytecode/Reader/Analyzer.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-07-06 18:02:27 +0000
committerChris Lattner <sabre@nondot.org>2006-07-06 18:02:27 +0000
commit05ac92ca7d448ff9270cdeecd182653477708517 (patch)
tree98ab4d6907cc940ec14f4510ecde36ffd6e43887 /lib/Bytecode/Reader/Analyzer.cpp
parent1d662a6afcbf8afb809e7f40093d2e9e0a888fdc (diff)
Change the verifier to never throw an exception. Instead verifyModule canoptionally return the string error, which is an easier api for clients touse anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29017 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Bytecode/Reader/Analyzer.cpp')
-rw-r--r--lib/Bytecode/Reader/Analyzer.cpp40
1 files changed, 15 insertions, 25 deletions
diff --git a/lib/Bytecode/Reader/Analyzer.cpp b/lib/Bytecode/Reader/Analyzer.cpp
index 0152104acb..ce20ac2e3a 100644
--- a/lib/Bytecode/Reader/Analyzer.cpp
+++ b/lib/Bytecode/Reader/Analyzer.cpp
@@ -117,12 +117,10 @@ public:
bca.functionDensity = double(bca.BlockSizes[BytecodeFormat::FunctionBlockID]) /
double(bca.numFunctions);
- if ( bca.progressiveVerify ) {
- try {
- verifyModule(*M, ThrowExceptionAction);
- } catch ( std::string& msg ) {
+ if (bca.progressiveVerify) {
+ std::string msg;
+ if (verifyModule(*M, ReturnStatusAction, &msg))
bca.VerifyInfo += "Verify@Finish: " + msg + "\n";
- }
}
}
@@ -135,12 +133,10 @@ public:
virtual void handleModuleEnd(const std::string& id) {
if (os)
*os << " } End Module " << id << "\n";
- if ( bca.progressiveVerify ) {
- try {
- verifyModule(*M, ThrowExceptionAction);
- } catch ( std::string& msg ) {
+ if (bca.progressiveVerify) {
+ std::string msg;
+ if (verifyModule(*M, ReturnStatusAction, &msg))
bca.VerifyInfo += "Verify@EndModule: " + msg + "\n";
- }
}
}
@@ -232,12 +228,10 @@ public:
virtual void handleModuleGlobalsEnd() {
if (os)
*os << " } END BLOCK: ModuleGlobalInfo\n";
- if ( bca.progressiveVerify ) {
- try {
- verifyModule(*M, ThrowExceptionAction);
- } catch ( std::string& msg ) {
+ if (bca.progressiveVerify) {
+ std::string msg;
+ if (verifyModule(*M, ReturnStatusAction, &msg))
bca.VerifyInfo += "Verify@EndModuleGlobalInfo: " + msg + "\n";
- }
}
}
@@ -346,12 +340,10 @@ public:
currFunc->density = double(currFunc->byteSize) /
double(currFunc->numInstructions);
- if ( bca.progressiveVerify ) {
- try {
- verifyModule(*M, ThrowExceptionAction);
- } catch ( std::string& msg ) {
+ if (bca.progressiveVerify) {
+ std::string msg;
+ if (verifyModule(*M, ReturnStatusAction, &msg))
bca.VerifyInfo += "Verify@EndFunction: " + msg + "\n";
- }
}
}
@@ -522,12 +514,10 @@ public:
if (os)
*os << " } END BLOCK: GlobalConstants\n";
- if ( bca.progressiveVerify ) {
- try {
- verifyModule(*M, ThrowExceptionAction);
- } catch ( std::string& msg ) {
+ if (bca.progressiveVerify) {
+ std::string msg;
+ if (verifyModule(*M, ReturnStatusAction, &msg))
bca.VerifyInfo += "Verify@EndGlobalConstants: " + msg + "\n";
- }
}
}