1 /* { dg-do compile } */
2 /* { dg-options "-O0" } */
3 /* { dg-require-effective-target tls } */
4 
5 struct gomp_team_state
6 {
7   struct gomp_team_state *prev_ts;
8   unsigned team_id;
9   unsigned level;
10 };
11 struct gomp_thread
12 {
13   void *data;
14   struct gomp_team_state ts;
15 };
16 extern __thread struct gomp_thread gomp_tls_data;
17 int
foo(int level)18 foo (int level)
19 {
20   struct gomp_team_state *ts = &gomp_tls_data.ts;
21   if (level < 0 || level > ts->level)
22     return -1;
23   return ts->team_id;
24 }
25