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)11 test (struct a *a)
12 {
13   a->b = 2;
14 }
15 int
foo()16 foo ()
17 {
18   struct a a = {113,114};
19   test (&a);
20   return a.c;
21 }
22 int
foo2(struct a * a)23 foo2 (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