mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 15:11:24 +00:00
Add testing for mismatched explicit type on a gep operator when loading from bitcode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232427 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2a83bf6228
commit
712d00bc64
@ -1973,7 +1973,8 @@ std::error_code BitcodeReader::ParseConstants() {
|
||||
bitc::CST_CODE_CE_INBOUNDS_GEP);
|
||||
if (PointeeType &&
|
||||
PointeeType != cast<GEPOperator>(V)->getSourceElementType())
|
||||
return Error("Invalid record");
|
||||
return Error("Explicit gep operator type does not match pointee type "
|
||||
"of pointer operand");
|
||||
break;
|
||||
}
|
||||
case bitc::CST_CODE_CE_SELECT: { // CE_SELECT: [opval#, opval#, opval#]
|
||||
|
Binary file not shown.
@ -16,6 +16,8 @@ RUN: not llvm-dis -disable-output %p/Inputs/invalid-gep-mismatched-explicit-type
|
||||
RUN: FileCheck --check-prefix=MISMATCHED-EXPLICIT-GEP %s
|
||||
RUN: not llvm-dis -disable-output %p/Inputs/invalid-load-mismatched-explicit-type.bc 2>&1 | \
|
||||
RUN: FileCheck --check-prefix=MISMATCHED-EXPLICIT-LOAD %s
|
||||
RUN: not llvm-dis -disable-output %p/Inputs/invalid-gep-operator-mismatched-explicit-type.bc 2>&1 | \
|
||||
RUN: FileCheck --check-prefix=MISMATCHED-EXPLICIT-GEP-OPERATOR %s
|
||||
|
||||
INVALID-ENCODING: Invalid encoding
|
||||
BAD-ABBREV: Abbreviation starts with an Array or a Blob
|
||||
@ -26,6 +28,7 @@ BAD-BITWIDTH: Bitwidth for integer type out of range
|
||||
BAD-ALIGN: Invalid alignment value
|
||||
MISMATCHED-EXPLICIT-GEP: Explicit gep type does not match pointee type of pointer operand
|
||||
MISMATCHED-EXPLICIT-LOAD: Explicit load type does not match pointee type of pointer operand
|
||||
MISMATCHED-EXPLICIT-GEP-OPERATOR: Explicit gep operator type does not match pointee type of pointer operand
|
||||
|
||||
RUN: not llvm-dis -disable-output %p/Inputs/invalid-extractval-array-idx.bc 2>&1 | \
|
||||
RUN: FileCheck --check-prefix=EXTRACT-ARRAY %s
|
||||
|
Loading…
Reference in New Issue
Block a user