http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54363

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-08-24 
09:08:09 UTC ---
--- gimplify.c.jj    2012-08-15 10:55:33.000000000 +0200
+++ gimplify.c    2012-08-24 11:01:55.253815273 +0200
@@ -3857,7 +3857,8 @@ optimize_compound_literals_in_ctor (tree

       if (!TREE_ADDRESSABLE (value)
           && !TREE_ADDRESSABLE (decl)
-          && init)
+          && init
+          && TREE_CODE (init) == CONSTRUCTOR)
         newval = optimize_compound_literals_in_ctor (init);
     }
       if (newval == value)

fixes the ICE, we end up with b.a = (char **) "a".

Reply via email to