]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR c++/38253 (g++.dg/ipa/iinline-1.C scan-ipa-dump inline fails on powerpc)
authorJakub Jelinek <jakub@redhat.com>
Thu, 11 Dec 2008 09:15:17 +0000 (10:15 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 11 Dec 2008 09:15:17 +0000 (10:15 +0100)
PR c++/38253
* gimplify.c (gimplify_init_constructor): Don't force constructor
into memory if there is just one nonzero element.

From-SVN: r142674

gcc/ChangeLog
gcc/gimplify.c

index f51730a1f4b4cf36a9f5c14eb744a333a324b97f..6c3518911b342d383117709553e6d8acd1c6feab 100644 (file)
@@ -1,3 +1,9 @@
+2008-12-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/38253
+       * gimplify.c (gimplify_init_constructor): Don't force constructor
+       into memory if there is just one nonzero element.
+
 2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>
 
        Fix testsuite/gfortran.dg/graphite/id-4.f90.
index 607743b73f0e2f19f52c7c80b2329b67680be5a9..e00024156f756ee8f894417857e2059df758980c 100644 (file)
@@ -3610,7 +3610,9 @@ gimplify_init_constructor (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p,
            else
              align = TYPE_ALIGN (type);
 
-           if (size > 0 && !can_move_by_pieces (size, align))
+           if (size > 0
+               && num_nonzero_elements > 1
+               && !can_move_by_pieces (size, align))
              {
                tree new_tree;