diff options
Diffstat (limited to 'lib/Bytecode')
-rw-r--r-- | lib/Bytecode/Reader/ConstantReader.cpp | 8 | ||||
-rw-r--r-- | lib/Bytecode/Writer/ConstantWriter.cpp | 4 |
2 files changed, 6 insertions, 6 deletions
diff --git a/lib/Bytecode/Reader/ConstantReader.cpp b/lib/Bytecode/Reader/ConstantReader.cpp index e8cebcb..e9e578d 100644 --- a/lib/Bytecode/Reader/ConstantReader.cpp +++ b/lib/Bytecode/Reader/ConstantReader.cpp @@ -233,12 +233,12 @@ Constant *BytecodeParser::parseConstantValue(const unsigned char *&Buf, case Type::StructTyID: { const StructType *ST = cast<StructType>(Ty); - const StructType::ElementTypes &ET = ST->getElementTypes(); std::vector<Constant *> Elements; - Elements.reserve(ET.size()); - for (unsigned i = 0; i != ET.size(); ++i) - Elements.push_back(getConstantValue(ET[i], read_vbr_uint(Buf, EndBuf))); + Elements.reserve(ST->getNumElements()); + for (unsigned i = 0; i != ST->getNumElements(); ++i) + Elements.push_back(getConstantValue(ST->getElementType(i), + read_vbr_uint(Buf, EndBuf))); return ConstantStruct::get(ST, Elements); } diff --git a/lib/Bytecode/Writer/ConstantWriter.cpp b/lib/Bytecode/Writer/ConstantWriter.cpp index 6d49165..bb8d286 100644 --- a/lib/Bytecode/Writer/ConstantWriter.cpp +++ b/lib/Bytecode/Writer/ConstantWriter.cpp @@ -66,8 +66,8 @@ void BytecodeWriter::outputType(const Type *T) { const StructType *ST = cast<StructType>(T); // Output all of the element types... - StructType::ElementTypes::const_iterator I = ST->getElementTypes().begin(); - for (; I != ST->getElementTypes().end(); ++I) { + for (StructType::element_iterator I = ST->element_begin(), + E = ST->element_end(); I != E; ++I) { int Slot = Table.getSlot(*I); assert(Slot != -1 && "Type used but not available!!"); output_vbr((unsigned)Slot, Out); |