aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore/Verifier.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-12-15 20:23:49 +0000
committerChris Lattner <sabre@nondot.org>2004-12-15 20:23:49 +0000
commit56998b26aee585b06c7990f7a89d4d1bd3804df4 (patch)
tree7ca09b99eab7be93d02c863f9697496311727c03 /lib/VMCore/Verifier.cpp
parentfd4b3c477424dc934c27f7f39f91613e2021c9a5 (diff)
downloadexternal_llvm-56998b26aee585b06c7990f7a89d4d1bd3804df4.zip
external_llvm-56998b26aee585b06c7990f7a89d4d1bd3804df4.tar.gz
external_llvm-56998b26aee585b06c7990f7a89d4d1bd3804df4.tar.bz2
Add a verifier assertion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18965 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/Verifier.cpp')
-rw-r--r--lib/VMCore/Verifier.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/VMCore/Verifier.cpp b/lib/VMCore/Verifier.cpp
index 4653ef8..0998720 100644
--- a/lib/VMCore/Verifier.cpp
+++ b/lib/VMCore/Verifier.cpp
@@ -128,7 +128,7 @@ namespace { // Anonymous namespace for class
}
for (Module::giterator I = M.gbegin(), E = M.gend(); I != E; ++I)
- visitGlobalValue(*I);
+ visitGlobalVariable(*I);
// If the module is broken, abort at this time.
abortIfBroken();
@@ -171,6 +171,7 @@ namespace { // Anonymous namespace for class
// Verification methods...
void verifySymbolTable(SymbolTable &ST);
void visitGlobalValue(GlobalValue &GV);
+ void visitGlobalVariable(GlobalVariable &GV);
void visitFunction(Function &F);
void visitBasicBlock(BasicBlock &BB);
void visitPHINode(PHINode &PN);
@@ -262,6 +263,16 @@ void Verifier::visitGlobalValue(GlobalValue &GV) {
}
}
+void Verifier::visitGlobalVariable(GlobalVariable &GV) {
+ if (GV.hasInitializer())
+ Assert1(GV.getInitializer()->getType() == GV.getType()->getElementType(),
+ "Global variable initializer type does not match global "
+ "variable type!", &GV);
+
+ visitGlobalValue(GV);
+}
+
+
// verifySymbolTable - Verify that a function or module symbol table is ok
//
void Verifier::verifySymbolTable(SymbolTable &ST) {