http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53249
--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> 2012-05-06 14:28:55
UTC ---
A small testcase:
[hjl@gnu-6 pr53249]$ cat x.i
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;
}
[hjl@gnu-6 pr53249]$