// PR optimization/19531// forbids NRV on volatile return value.// { dg-options -O2 }// { dg-do run }extern"C"{voidabort(); }struct A
{int d;A() { d =123; }A(const A & o) { d = o.d; }A(volatileconst A & o) { d = o.d +2; }};
A bar(){volatile A l;return l;}main(){
A a =bar();if(a.d !=125)abort();return0;}