1 /* { dg-do compile { target { ! x32 } } } */
2 /* { dg-options "-O2 -g -fcheck-pointer-bounds -mmpx -fcompare-debug" } */
3 
4 struct ts
5 {
6   int field;
7 };
8 
9 extern void test1 ();
10 extern void test2 (struct ts *);
11 
12 static void
init(struct ts * c)13 init (struct ts *c)
14 {
15   c->field = -1;
16 }
17 
18 struct ts
test3(const struct ts * other)19 test3 (const struct ts *other)
20 {
21   struct ts r;
22   if (other->field != 0)
23     test1 ();
24   init (&r);
25   test2 (&r);
26   return r;
27 }
28