diff options
author | Chris Lattner <sabre@nondot.org> | 2003-06-02 17:25:46 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-06-02 17:25:46 +0000 |
commit | bf44ecccdb8c723983a6e7c6dc8874e65cab3c2b (patch) | |
tree | 308fa28a2ada36b5aff1cb610414c5bae5f161b5 /lib/VMCore | |
parent | 5e1803548d949227488cee442cfdc3e9e55f4422 (diff) | |
download | external_llvm-bf44ecccdb8c723983a6e7c6dc8874e65cab3c2b.zip external_llvm-bf44ecccdb8c723983a6e7c6dc8874e65cab3c2b.tar.gz external_llvm-bf44ecccdb8c723983a6e7c6dc8874e65cab3c2b.tar.bz2 |
Fix bug: Linker/2003-06-02-TypeResolveProblem.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6542 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore')
-rw-r--r-- | lib/VMCore/Constants.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/VMCore/Constants.cpp b/lib/VMCore/Constants.cpp index 8fa5342..5c2f73e 100644 --- a/lib/VMCore/Constants.cpp +++ b/lib/VMCore/Constants.cpp @@ -556,6 +556,7 @@ void ConstantArray::destroyConstant() { void ConstantArray::refineAbstractType(const DerivedType *OldTy, const Type *NewTy) { Value::refineAbstractType(OldTy, NewTy); + if (OldTy == NewTy) return; // Make everyone now use a constant of the new type... std::vector<Constant*> C; @@ -625,6 +626,7 @@ void ConstantStruct::destroyConstant() { void ConstantStruct::refineAbstractType(const DerivedType *OldTy, const Type *NewTy) { Value::refineAbstractType(OldTy, NewTy); + if (OldTy == NewTy) return; // Make everyone now use a constant of the new type... std::vector<Constant*> C; @@ -666,6 +668,7 @@ void ConstantPointerNull::destroyConstant() { void ConstantPointerNull::refineAbstractType(const DerivedType *OldTy, const Type *NewTy) { Value::refineAbstractType(OldTy, NewTy); + if (OldTy == NewTy) return; // Make everyone now use a constant of the new type... if (NewTy != OldTy) { @@ -798,6 +801,7 @@ void ConstantExpr::destroyConstant() { void ConstantExpr::refineAbstractType(const DerivedType *OldTy, const Type *NewTy) { Value::refineAbstractType(OldTy, NewTy); + if (OldTy == NewTy) return; // FIXME: These need to use a lower-level implementation method, because the // ::get methods intuit the type of the result based on the types of the |