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