1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/* { dg-do compile } */ /* { dg-options "-O -fno-tree-sra -fdump-tree-fre" } */ struct X { int i; int j; }; void bar (struct X *); int foo (struct X *p) { struct X x; p->i = 1; x = *p; x.j = 2; return p->i - x.i; } /* We should optimize this to return 0. */ /* { dg-final { scan-tree-dump "= 0;" "fre" } } */ /* { dg-final { cleanup-tree-dump "fre" } } */