/* { dg-do compile } */ /* { dg-options "-O1 -fdump-tree-optimized" } */ struct A { int a,b; }; int foo (int x, int y) { int i, j; struct A a,b; a.a = x; b.b = y; j = a.a; i = b.b; return i + j; } /* The addition should be optimized into 'y+x'. */ /* { dg-final { scan-tree-dump-times "\[xy\]_..D. \\+ \[xy]_..D." 1 "optimized"} } */ /* { dg-final { cleanup-tree-dump "optimized" } } */