[llvm] r232427 - Add testing for mismatched explicit type on a gep operator when loading from bitcode

David Blaikie dblaikie at gmail.com
Mon Mar 16 15:03:50 PDT 2015


Author: dblaikie
Date: Mon Mar 16 17:03:50 2015
New Revision: 232427

URL: http://llvm.org/viewvc/llvm-project?rev=232427&view=rev
Log:
Add testing for mismatched explicit type on a gep operator when loading from bitcode

Added:
    llvm/trunk/test/Bitcode/Inputs/invalid-gep-operator-mismatched-explicit-type.bc
Modified:
    llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp
    llvm/trunk/test/Bitcode/invalid.test

Modified: llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp?rev=232427&r1=232426&r2=232427&view=diff
==============================================================================
--- llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp (original)
+++ llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp Mon Mar 16 17:03:50 2015
@@ -1973,7 +1973,8 @@ std::error_code BitcodeReader::ParseCons
                                            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#]

Added: llvm/trunk/test/Bitcode/Inputs/invalid-gep-operator-mismatched-explicit-type.bc
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Bitcode/Inputs/invalid-gep-operator-mismatched-explicit-type.bc?rev=232427&view=auto
==============================================================================
Binary files llvm/trunk/test/Bitcode/Inputs/invalid-gep-operator-mismatched-explicit-type.bc (added) and llvm/trunk/test/Bitcode/Inputs/invalid-gep-operator-mismatched-explicit-type.bc Mon Mar 16 17:03:50 2015 differ

Modified: llvm/trunk/test/Bitcode/invalid.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Bitcode/invalid.test?rev=232427&r1=232426&r2=232427&view=diff
==============================================================================
--- llvm/trunk/test/Bitcode/invalid.test (original)
+++ llvm/trunk/test/Bitcode/invalid.test Mon Mar 16 17:03:50 2015
@@ -16,6 +16,8 @@ RUN: not llvm-dis -disable-output %p/Inp
 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
 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





More information about the llvm-commits mailing list