mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-09 11:25:55 +00:00
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
This commit is contained in:
@@ -556,6 +556,7 @@ void ConstantArray::destroyConstant() {
|
|||||||
void ConstantArray::refineAbstractType(const DerivedType *OldTy,
|
void ConstantArray::refineAbstractType(const DerivedType *OldTy,
|
||||||
const Type *NewTy) {
|
const Type *NewTy) {
|
||||||
Value::refineAbstractType(OldTy, NewTy);
|
Value::refineAbstractType(OldTy, NewTy);
|
||||||
|
if (OldTy == NewTy) return;
|
||||||
|
|
||||||
// Make everyone now use a constant of the new type...
|
// Make everyone now use a constant of the new type...
|
||||||
std::vector<Constant*> C;
|
std::vector<Constant*> C;
|
||||||
@@ -625,6 +626,7 @@ void ConstantStruct::destroyConstant() {
|
|||||||
void ConstantStruct::refineAbstractType(const DerivedType *OldTy,
|
void ConstantStruct::refineAbstractType(const DerivedType *OldTy,
|
||||||
const Type *NewTy) {
|
const Type *NewTy) {
|
||||||
Value::refineAbstractType(OldTy, NewTy);
|
Value::refineAbstractType(OldTy, NewTy);
|
||||||
|
if (OldTy == NewTy) return;
|
||||||
|
|
||||||
// Make everyone now use a constant of the new type...
|
// Make everyone now use a constant of the new type...
|
||||||
std::vector<Constant*> C;
|
std::vector<Constant*> C;
|
||||||
@@ -666,6 +668,7 @@ void ConstantPointerNull::destroyConstant() {
|
|||||||
void ConstantPointerNull::refineAbstractType(const DerivedType *OldTy,
|
void ConstantPointerNull::refineAbstractType(const DerivedType *OldTy,
|
||||||
const Type *NewTy) {
|
const Type *NewTy) {
|
||||||
Value::refineAbstractType(OldTy, NewTy);
|
Value::refineAbstractType(OldTy, NewTy);
|
||||||
|
if (OldTy == NewTy) return;
|
||||||
|
|
||||||
// Make everyone now use a constant of the new type...
|
// Make everyone now use a constant of the new type...
|
||||||
if (NewTy != OldTy) {
|
if (NewTy != OldTy) {
|
||||||
@@ -798,6 +801,7 @@ void ConstantExpr::destroyConstant() {
|
|||||||
void ConstantExpr::refineAbstractType(const DerivedType *OldTy,
|
void ConstantExpr::refineAbstractType(const DerivedType *OldTy,
|
||||||
const Type *NewTy) {
|
const Type *NewTy) {
|
||||||
Value::refineAbstractType(OldTy, NewTy);
|
Value::refineAbstractType(OldTy, NewTy);
|
||||||
|
if (OldTy == NewTy) return;
|
||||||
|
|
||||||
// FIXME: These need to use a lower-level implementation method, because the
|
// 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
|
// ::get methods intuit the type of the result based on the types of the
|
||||||
|
Reference in New Issue
Block a user