http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48335
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-03-29
14:59:50 UTC ---
Yet another testcase:
/* { dg-do compile } */
/* { dg-options "-O2 -fno-tree-sra" } */
typedef long long T __attribute__((__may_alias__));
struct S
{
_Complex float d __attribute__((aligned (8)));
};
void bar (struct S);
void
foo (T x)
{
struct S s;
*(T *) &s.d = x;
__real__ s.d *= 7.0;
bar (s);
}
which ICEs too. BTW, in the original testcase from
https://bugzilla.redhat.com/show_bug.cgi?id=691133 -fno-tree-sra wasn't used,
just delta did a poor job on it even after many hours (got it to 32KB), so I've
decided to try to write a testcase myself and for that I needed -fno-tree-sra.