| /* Test that the tree_nrv pass works by making sure that we don't generate | |
| a memcpy. Throw in a bit of control flow to make its job a bit harder. */ | |
| /* { dg-options "-O" } */ | |
| struct A { int i[100]; }; | |
| int b; | |
| struct A f () | |
| { | |
| struct A a; | |
| if (b) | |
| { | |
| a.i[0] = 42; | |
| return a; | |
| } | |
| else | |
| { | |
| a.i[42] = 1; | |
| return a; | |
| } | |
| } | |
| /* { dg-final { scan-assembler-not "memcpy" } } */ |