1 // PR optimization/6189 2 // Bug: we forgot about foo's nrv after writing it out. 3 // { dg-options -O3 } 4 // { dg-do run } 5 6 struct A 7 { 8 int i; 9 }; 10 11 foo()12 A foo () 13 { 14 A a; 15 a.i = 42; 16 return a; 17 } 18 19 main()20 int main() 21 { 22 A b = foo(); 23 return b.i != 42; 24 } 25