URL
https://opencores.org/ocsvn/scarts/scarts/trunk
Subversion Repositories scarts
[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [gcc/] [testsuite/] [gcc.dg/] [nrv1.c] - Rev 12
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; }