Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/nrv1.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* 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; }