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)13init (struct ts *c) 14 { 15 c->field = -1; 16 } 17 18 struct ts test3(const struct ts * other)19test3 (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