re PR bootstrap/48148 (LTO bootstrap failed with bootstrap-profiled)
authorEric Botcazou <ebotcazou@adacore.com>
Tue, 19 Apr 2011 14:46:37 +0000 (14:46 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Tue, 19 Apr 2011 14:46:37 +0000 (14:46 +0000)
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

gcc/ChangeLog
gcc/gimple.c

index efad7e54f366213cc19e74766930762e6b6c0666..dfdb6b3f8d2e9d0b5468fef90e719a47afd1a059 100644 (file)
@@ -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.
index f19b219be5fcf5179210c951cecad0121b332966..c6868befc59619787b2cca912bf3b5efe0aa8158 100644 (file)
@@ -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