mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-19 04:29:21 +00:00
Add better checking
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8996 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
987e49c6d0
commit
0f3bc5ecc2
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user