aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore/Type.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2001-10-24 05:12:04 +0000
committerChris Lattner <sabre@nondot.org>2001-10-24 05:12:04 +0000
commit008f906afde4365dd30dde13bd22ae795c4112f9 (patch)
treedb50b07d3c87de4a1942f15873608d487641887d /lib/VMCore/Type.cpp
parentd6b65255fec99708c8317cde601b12ec09f538d9 (diff)
downloadexternal_llvm-008f906afde4365dd30dde13bd22ae795c4112f9.zip
external_llvm-008f906afde4365dd30dde13bd22ae795c4112f9.tar.gz
external_llvm-008f906afde4365dd30dde13bd22ae795c4112f9.tar.bz2
Two things:
1. Forward propogate a loaded constant to make debugging slightly less annoying 2. Fix an extremely nasty hard to find bug that really irritated me for the better part of 6 hours and was causing linking to die and bizarre and mysterious ways. Things should be much more stable now that this one liner has been fixed. GRR git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@971 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/Type.cpp')
-rw-r--r--lib/VMCore/Type.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/VMCore/Type.cpp b/lib/VMCore/Type.cpp
index fb4063a..c25bdf0 100644
--- a/lib/VMCore/Type.cpp
+++ b/lib/VMCore/Type.cpp
@@ -300,6 +300,8 @@ static bool TypesEqual(const Type *Ty, const Type *Ty2,
if (Ty == Ty2) return true;
if (Ty->getPrimitiveID() != Ty2->getPrimitiveID()) return false;
if (Ty->isPrimitiveType()) return true;
+ if (isa<OpaqueType>(Ty))
+ return false; // Two nonequal opaque types are never equal
if (Ty != Ty2) {
map<const Type*, const Type*>::iterator I = EqTypes.find(Ty);
@@ -744,7 +746,7 @@ void DerivedType::refineAbstractTypeTo(const Type *NewType) {
<< (void*)this << " " << getDescription() << "] to ["
<< (void*)NewTy.get() << " " << NewTy->getDescription() << "]!\n";
#endif
- AbstractTypeUsers.back()->refineAbstractType(this, NewTy);
+ User->refineAbstractType(this, NewTy);
assert(AbstractTypeUsers.size() != OldSize &&
"AbsTyUser did not remove self from user list!");