URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.dg/] [nrv1.c] - Rev 298
Compare with Previous | Blame | View Log
/* Test that the NRV optimization doesn't cause a1 to change too soon. This is equivalent to c++/19317. */ /* { dg-do run } */ void abort (void); struct A { int i[100]; }; struct A a1; struct A f () { struct A a2; a2.i[0] = 42; /* a1.i[0] should still be 0 until we return. */ if (a1.i[0] != 0) abort (); return a2; } int main() { a1 = f(); return 0; }