Don't crash on bogus source value


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10132 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index e930bc5..8e44501 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -1171,6 +1171,9 @@
 
 
 ConstExpr: CAST '(' ConstVal TO Types ')' {
+    if (!$3->getType()->isFirstClassType())
+      ThrowException("cast constant expression from a non-primitive type: '" +
+                     $3->getType()->getDescription() + "'!");
     if (!$5->get()->isFirstClassType())
       ThrowException("cast constant expression to a non-primitive type: '" +
                      $5->get()->getDescription() + "'!");