1/* PR target/70566. */ 2 3#define NULL 0 4 5struct mystruct 6{ 7 unsigned int f1 : 1; 8 unsigned int f2 : 1; 9 unsigned int f3 : 1; 10}; 11 12__attribute__ ((noinline)) void 13myfunc (int a, void *b) 14{ 15} 16__attribute__ ((noinline)) int 17myfunc2 (void *a) 18{ 19 return 0; 20} 21 22static void 23set_f2 (struct mystruct *user, int f2) 24{ 25 if (user->f2 != f2) 26 myfunc (myfunc2 (NULL), NULL); 27 else 28 __builtin_abort (); 29} 30 31__attribute__ ((noinline)) void 32foo (void *data) 33{ 34 struct mystruct *user = data; 35 if (!user->f2) 36 set_f2 (user, 1); 37} 38 39int 40main (void) 41{ 42 struct mystruct a; 43 a.f1 = 1; 44 a.f2 = 0; 45 foo (&a); 46 return 0; 47} 48