Make sure that PHI node operands are first class types
llvm-svn: 9607
diff --git a/llvm/lib/AsmParser/llvmAsmParser.y b/llvm/lib/AsmParser/llvmAsmParser.y
index 28b4ad6..96d2dae 100644
--- a/llvm/lib/AsmParser/llvmAsmParser.y
+++ b/llvm/lib/AsmParser/llvmAsmParser.y
@@ -1756,6 +1756,8 @@
}
| PHI_TOK PHIList {
const Type *Ty = $2->front().first->getType();
+ if (!Ty->isFirstClassType())
+ ThrowException("PHI node operands must be of first class type!");
$$ = new PHINode(Ty);
$$->op_reserve($2->size()*2);
while ($2->begin() != $2->end()) {