From d8f9bfbc093e7e0c1fab719bc014ba7c6f94ad6d Mon Sep 17 00:00:00 2001 From: Karl Schimpf Date: Wed, 4 Sep 2013 13:34:52 -0700 Subject: Remove ARRAY/VECTOR types from PNaCl bitcode files. The value selector list for switch statements are represented using ARRAY/VECTOR constants, but this information is not put into the bitcode file. This CL changes the value enumerator to not emit these constants. BUG= https://code.google.com/p/nativeclient/issues/detail?id=3649 R=mseaborn@chromium.org Review URL: https://codereview.chromium.org/23653013 --- lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp') diff --git a/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp b/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp index bff4afb0c3..cccc5cee5a 100644 --- a/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp +++ b/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp @@ -508,6 +508,10 @@ bool NaClBitcodeReader::ParseTypeTableBody() { break; } case naclbitc::TYPE_CODE_ARRAY: // ARRAY: [numelts, eltty] + // Deprecated. Only exists in early PNaCl version 1 bitcode files. + // TODO(kschimpf) Remove this as soon as is feasible. + if (GetPNaClVersion() >= 2) + return Error("Array types not supported in PNaCl bitcode"); if (Record.size() < 2) return Error("Invalid ARRAY type record"); if ((ResultTy = getTypeByID(Record[1]))) @@ -516,6 +520,10 @@ bool NaClBitcodeReader::ParseTypeTableBody() { return Error("Invalid ARRAY type element"); break; case naclbitc::TYPE_CODE_VECTOR: // VECTOR: [numelts, eltty] + // Deprecated. Only exists in early PNaCl version 1 bitcode files. + // TODO(kschimpf) Remove this as soon as is feasible. + if (GetPNaClVersion() >= 2) + return Error("Vector types not supported in PNaCl bitcode"); if (Record.size() < 2) return Error("Invalid VECTOR type record"); if ((ResultTy = getTypeByID(Record[1]))) -- cgit v1.2.3-18-g5258