From 8243976b69aee92b26e67ef8a3ec505e924e408b Mon Sep 17 00:00:00 2001 From: Alkis Evlogimenos Date: Thu, 5 Aug 2004 11:28:34 +0000 Subject: [PATCH] Make GlobalVariable constructor assert when an initializer is of incorrect type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15519 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/VMCore/Globals.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/VMCore/Globals.cpp b/lib/VMCore/Globals.cpp index 2369d1c8eaa..cfecbc91ce0 100644 --- a/lib/VMCore/Globals.cpp +++ b/lib/VMCore/Globals.cpp @@ -76,7 +76,11 @@ GlobalVariable::GlobalVariable(const Type *Ty, bool constant, LinkageTypes Link, const std::string &Name, Module *ParentModule) : GlobalValue(PointerType::get(Ty), Value::GlobalVariableVal, Link, Name), isConstantGlobal(constant) { - if (Initializer) Operands.push_back(Use((Value*)Initializer, this)); + if (Initializer) { + assert(Initializer->getType() == Ty && + "Initializer should be the same type as the GlobalVariable!"); + Operands.push_back(Use((Value*)Initializer, this)); + } LeakDetector::addGarbageObject(this); -- 2.11.0