diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index 1f6b53909f0..4a4803ed875 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -1294,7 +1294,10 @@ ConstVal: Types '[' ConstVector ']' { // Nonempty unsized arr delete $1; } | Types ZEROINITIALIZER { - $$ = Constant::getNullValue($1->get()); + const Type *Ty = $1->get(); + if (isa(Ty) || Ty == Type::LabelTy || isa(Ty)) + ThrowException("Cannot create a null initialized value of this type!"); + $$ = Constant::getNullValue(Ty); delete $1; };