minor cleanups
authorChris Lattner <sabre@nondot.org>
Fri, 26 Dec 2003 06:16:00 +0000 (06:16 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 26 Dec 2003 06:16:00 +0000 (06:16 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10612 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Bytecode/Reader/ConstantReader.cpp

index a8386645dbadc1b6d6401ad437647400f9a77fa5..3d5ffd452e6c76887f520d53dc5da939d7736c65 100644 (file)
@@ -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