/* 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" } } */ |