]> gcc.gnu.org Git - gcc.git/commitdiff
re PR middle-end/53433 (ICE in int_mode_for_mode, at stor-layout.c:424 during lto...
authorRichard Guenther <rguenther@suse.de>
Wed, 4 Jul 2012 13:47:18 +0000 (13:47 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 4 Jul 2012 13:47:18 +0000 (13:47 +0000)
2012-07-04  Richard Guenther  <rguenther@suse.de>

PR middle-end/53433
* gimple-fold.c (get_base_constructor): Do not return an
error_mark_node DECL_INITIAL.

From-SVN: r189260

gcc/ChangeLog
gcc/gimple-fold.c

index c33c5a5b4b047f2d7aac841df6c1eac176f0fe33..6f8a34f33389b998476a59170fc4567b6395f3c6 100644 (file)
@@ -1,3 +1,9 @@
+2012-07-04  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/53433
+       * gimple-fold.c (get_base_constructor): Do not return an
+       error_mark_node DECL_INITIAL.
+
 2012-07-04  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/53844
index 08e960363b6c0f614f9f87417cccb60292c283de..5f8e0cd3b46c0386ae5ad9d75a83dd991f294a68 100644 (file)
@@ -2713,6 +2713,10 @@ get_base_constructor (tree base, HOST_WIDE_INT *bit_offset,
       if (!DECL_INITIAL (base)
          && (TREE_STATIC (base) || DECL_EXTERNAL (base)))
         return error_mark_node;
+      /* Do not return an error_mark_node DECL_INITIAL.  LTO uses this
+         as special marker (_not_ zero ...) for its own purposes.  */
+      if (DECL_INITIAL (base) == error_mark_node)
+       return NULL_TREE;
       return DECL_INITIAL (base);
 
     case ARRAY_REF:
This page took 0.082493 seconds and 5 git commands to generate.