Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/opt/nrv9.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
// PR c++/19317 // If we do both NRV and caller-side return slot opt for ga = f() // constructing la sets ga.i to 0 too soon. extern "C" void abort(); struct A { int i; int pad[32]; // force return in memory A(): i(0) {} A(int ia): i(ia) {} }; A ga(42); A f() { A la; if (ga.i != 42) abort(); return la; } int main() { ga = f (); }