Make sure that PHI node operands are first class types


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9607 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index 28b4ad6..96d2dae 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/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()) {