/* { dg-do compile } */ /* { dg-options "-O0" } */ /* { dg-require-effective-target tls } */ struct gomp_team_state { struct gomp_team_state *prev_ts; unsigned team_id; unsigned level; }; struct gomp_thread { void *data; struct gomp_team_state ts; }; extern __thread struct gomp_thread gomp_tls_data; int foo (int level) { struct gomp_team_state *ts = &gomp_tls_data.ts; if (level < 0 || level > ts->level) return -1; return ts->team_id; }