1 /* { dg-do compile } */
2 /* { dg-require-stack-check "specific" } */
3 /* { dg-options "-O2 -fstack-check=specific -fno-tree-dse -fno-tree-fre -fno-tree-loop-optimize -g" } */
4 
5 struct S
6 {
7   int w, z;
8 };
9 struct T
10 {
11   struct S s;
12 };
13 
14 int i;
15 
16 static inline struct S
bar(struct S x)17 bar (struct S x)
18 {
19   i++;
20   return x;
21 }
22 
23 int
foo(struct T t,struct S s)24 foo (struct T t, struct S s)
25 {
26   struct S *c = &s;
27   if (i)
28     c = &t.s;
29   t.s.w = 3;
30   s = bar (*c);
31   return t.s.w;
32 }
33