aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2011-04-19 14:46:37 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2011-04-19 14:46:37 +0000
commitabe36b81c5d5e74a6c00fa1431132dfac4838157 (patch)
treeeb696df56be26670b190bb3d46f5ad71244af34c /gcc
parente6416b305e7c6d1e6d4b1f92bc5875f3c8f4e729 (diff)
downloadgcc-abe36b81c5d5e74a6c00fa1431132dfac4838157.zip
gcc-abe36b81c5d5e74a6c00fa1431132dfac4838157.tar.gz
gcc-abe36b81c5d5e74a6c00fa1431132dfac4838157.tar.bz2
re PR bootstrap/48148 (LTO bootstrap failed with bootstrap-profiled)
PR lto/48148 * gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge the types if they have different enumeration identifiers. From-SVN: r172712
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/gimple.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index efad7e5..dfdb6b3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2011-04-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR lto/48148
+ * gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge
+ the types if they have different enumeration identifiers.
+
2011-04-19 Jan Hubicka <jh@suse.cz>
* cgraph.h (cgraph_optimize_for_size_p): Declare.
diff --git a/gcc/gimple.c b/gcc/gimple.c
index f19b219..c6868be 100644
--- a/gcc/gimple.c
+++ b/gcc/gimple.c
@@ -3731,6 +3731,9 @@ gimple_types_compatible_p_1 (tree t1, tree t2, enum gtc_mode mode,
if (tree_int_cst_equal (c1, c2) != 1)
goto different_types;
+
+ if (mode == GTC_MERGE && TREE_PURPOSE (v1) != TREE_PURPOSE (v2))
+ goto different_types;
}
/* If one enumeration has more values than the other, they