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
5struct gomp_task
6{
7  struct gomp_task *parent;
8};
9
10struct gomp_thread
11{
12  int foo1;
13  struct gomp_task *task;
14};
15
16extern __thread struct gomp_thread gomp_tls_data;
17
18void
19__attribute__ ((noinline))
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