Actually privatize a IntegerTypes, and fix a few bugs exposed by this.

llvm-svn: 78955
This commit is contained in:
Owen Anderson
2009-08-13 23:27:32 +00:00
parent 590a7c780c
commit a42ac6953b
11 changed files with 110 additions and 70 deletions

View File

@@ -358,7 +358,7 @@ const Type *BitcodeReader::getTypeByID(unsigned ID, bool isTypeTable) {
// The type table allows forward references. Push as many Opaque types as
// needed to get up to ID.
while (TypeList.size() <= ID)
TypeList.push_back(OpaqueType::get());
TypeList.push_back(OpaqueType::get(Context));
return TypeList.back().get();
}
@@ -597,7 +597,7 @@ bool BitcodeReader::ParseTypeTable() {
if (NumRecords == TypeList.size()) {
// If this is a new type slot, just append it.
TypeList.push_back(ResultTy ? ResultTy : OpaqueType::get());
TypeList.push_back(ResultTy ? ResultTy : OpaqueType::get(Context));
++NumRecords;
} else if (ResultTy == 0) {
// Otherwise, this was forward referenced, so an opaque type was created,