1 /* { dg-do compile } */ 2 /* { dg-options "-O2 -fdump-tree-optimized" } */ 3 struct a 4 { 5 int b; 6 int c; 7 }; 8 9 __attribute__ ((noclone, noinline)) 10 void test(struct a * a)11test (struct a *a) 12 { 13 a->b = 2; 14 } 15 int foo()16foo () 17 { 18 struct a a = {113,114}; 19 test (&a); 20 return a.c; 21 } 22 int foo2(struct a * a)23foo2 (struct a *a) 24 { 25 a->b = 123; 26 a->c = 124; 27 test (a); 28 return a->c; 29 } 30 /* { dg-final { scan-tree-dump "return 114" "optimized"} } */ 31 /* { dg-final { scan-tree-dump "return 124" "optimized"} } */ 32