From 0f3bc5ecc2730d917cb420af1027d7bf19c82d40 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 10 Oct 2003 03:56:01 +0000 Subject: [PATCH] Add better checking git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8996 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/AsmParser/llvmAsmParser.y | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index 773ea7a0f5f..4543fcdc49c 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -1060,6 +1060,9 @@ ConstVal : SIntType EINT64VAL { // integral constants ConstExpr: CAST '(' ConstVal TO Types ')' { + if (!$5->get()->isFirstClassType()) + ThrowException("cast constant expression to a non-primitive type: '" + + $5->get()->getDescription() + "'!"); $$ = ConstantExpr::getCast($3, $5->get()); delete $5; } @@ -1632,6 +1635,9 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef { $$ = new ShiftInst($1, $2, $4); } | CAST ResolvedVal TO Types { + if (!$4->get()->isFirstClassType()) + ThrowException("cast instruction to a non-primitive type: '" + + $4->get()->getDescription() + "'!"); $$ = new CastInst($2, *$4); delete $4; } -- 2.11.0