------- Comment #14 from rguenth at gcc dot gnu dot org 2009-04-07 16:04
-------
With a small testcase it works:
struct Y {};
struct X {
Y y;
float real;
float imag;
};
struct X __attribute__((noinline))
foo (float *p)
{
struct X x;
x.real = p[0];
x.imag = p[1];
return x;
}
extern "C" void abort (void);
int main()
{
float a[2] = { 1., 2. };
struct X x = foo(a);
if (x.real != 1.
|| x.imag != 2.)
abort ();
return 0;
}
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to fail|4.1.3 4.2.5 4.3.3 4.4.0 |4.3.3 4.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39678