/* { dg-do compile { target { ! { ia32 } } } } */ /* { dg-require-effective-target maybe_x32 } */ /* { dg-options "-O2 -mx32 -ftls-model=initial-exec -maddress-mode=short" } */ struct gomp_task { struct gomp_task *parent; }; struct gomp_thread { int foo1; struct gomp_task *task; }; extern __thread struct gomp_thread gomp_tls_data; void __attribute__ ((noinline)) gomp_end_task (void) { struct gomp_thread *thr = &gomp_tls_data; struct gomp_task *task = thr->task; thr->task = task->parent; }