mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-25 20:59:51 +00:00
Add checks for the landingpad instruction's clause values to make sure that
they're the correct type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137511 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0d09499cf3
commit
746c882538
@ -3554,6 +3554,16 @@ bool LLParser::ParseLandingPad(Instruction *&Inst, PerFunctionState &PFS) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// A 'catch' type expects a non-array constant. A filter clause expects an
|
||||
// array constant.
|
||||
if (CT == LandingPadInst::Catch) {
|
||||
if (isa<ArrayType>(V->getType()))
|
||||
Error(VLoc, "'catch' clause has an invalid type");
|
||||
} else {
|
||||
if (!isa<ArrayType>(V->getType()))
|
||||
Error(VLoc, "'filter' clause has an invalid type");
|
||||
}
|
||||
|
||||
LP->addClause(V);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user