diff options
author | Andrew Lenharth <andrewl@lenharth.org> | 2006-12-08 18:06:16 +0000 |
---|---|---|
committer | Andrew Lenharth <andrewl@lenharth.org> | 2006-12-08 18:06:16 +0000 |
commit | 38ecbf18eb9c8ca7ae08dfed4dc6fb4e3e5deb1e (patch) | |
tree | 25f918d862f8baff414df9382c194b5b5e072de1 /lib/Bytecode/Reader/Reader.cpp | |
parent | 8894255fc01cd8dcdccc700fdd69186d02131ffe (diff) |
Packed Structures
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32361 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Bytecode/Reader/Reader.cpp')
-rw-r--r-- | lib/Bytecode/Reader/Reader.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/Bytecode/Reader/Reader.cpp b/lib/Bytecode/Reader/Reader.cpp index 3cc3b1d362..2ac92bc946 100644 --- a/lib/Bytecode/Reader/Reader.cpp +++ b/lib/Bytecode/Reader/Reader.cpp @@ -1192,7 +1192,18 @@ const Type *BytecodeReader::ParseType() { Typ = read_vbr_uint(); } - Result = StructType::get(Elements); + Result = StructType::get(Elements, false); + break; + } + case Type::BC_ONLY_PackedStructTyID: { + std::vector<const Type*> Elements; + unsigned Typ = read_vbr_uint(); + while (Typ) { // List is terminated by void/0 typeid + Elements.push_back(getType(Typ)); + Typ = read_vbr_uint(); + } + + Result = StructType::get(Elements, true); break; } case Type::PointerTyID: { |