diff options
author | Chris Lattner <sabre@nondot.org> | 2003-12-26 06:16:00 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-12-26 06:16:00 +0000 |
commit | ddceeb720dcca473fbebe09c62b44328e080b4b4 (patch) | |
tree | 2af5116aee9e3343cdef5393dcbc926ece7fe273 /lib/Bytecode/Reader/ConstantReader.cpp | |
parent | efec9669d90f90703e92e0a3851bc5fb9b0f8fd8 (diff) |
minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10612 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Bytecode/Reader/ConstantReader.cpp')
-rw-r--r-- | lib/Bytecode/Reader/ConstantReader.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/Bytecode/Reader/ConstantReader.cpp b/lib/Bytecode/Reader/ConstantReader.cpp index a8386645db..3d5ffd452e 100644 --- a/lib/Bytecode/Reader/ConstantReader.cpp +++ b/lib/Bytecode/Reader/ConstantReader.cpp @@ -111,17 +111,16 @@ void BytecodeParser::parseTypeConstants(const unsigned char *&Buf, assert(Tab.size() == 0 && "should not have read type constants in before!"); // Insert a bunch of opaque types to be resolved later... - // FIXME: this is dumb Tab.reserve(NumEntries); - for (unsigned i = 0; i < NumEntries; ++i) + for (unsigned i = 0; i != NumEntries; ++i) Tab.push_back(OpaqueType::get()); // Loop through reading all of the types. Forward types will make use of the // opaque types just inserted. // - for (unsigned i = 0; i < NumEntries; ++i) { + for (unsigned i = 0; i != NumEntries; ++i) { const Type *NewTy = parseTypeConstant(Buf, EndBuf), *OldTy = Tab[i].get(); - if (NewTy == 0) throw std::string("Parsed invalid type."); + if (NewTy == 0) throw std::string("Couldn't parse type!"); BCR_TRACE(4, "#" << i << ": Read Type Constant: '" << NewTy << "' Replacing: " << OldTy << "\n"); @@ -130,10 +129,10 @@ void BytecodeParser::parseTypeConstants(const unsigned char *&Buf, // // Refine the abstract type to the new type. This causes all uses of the - // abstract type to use the newty. This also will cause the opaque type - // to be deleted... + // abstract type to use NewTy. This also will cause the opaque type to be + // deleted... // - ((DerivedType*)Tab[i].get())->refineAbstractTypeTo(NewTy); + cast<DerivedType>(const_cast<Type*>(OldTy))->refineAbstractTypeTo(NewTy); // This should have replace the old opaque type with the new type in the // value table... or with a preexisting type that was already in the system |