1 /* { dg-do compile { target { ! { ia32 } } } } */ 2 /* { dg-require-effective-target maybe_x32 } */ 3 /* { dg-options "-O2 -mx32 -ftls-model=initial-exec -maddress-mode=short" } */ 4 5 struct gomp_task 6 { 7 struct gomp_task *parent; 8 }; 9 10 struct gomp_thread 11 { 12 int foo1; 13 struct gomp_task *task; 14 }; 15 16 extern __thread struct gomp_thread gomp_tls_data; 17 18 void 19 __attribute__ ((noinline)) gomp_end_task(void)20gomp_end_task (void) 21 { 22 struct gomp_thread *thr = &gomp_tls_data; 23 struct gomp_task *task = thr->task; 24 25 thr->task = task->parent; 26 } 27