Daily bump.
[official-gcc.git] / gcc / testsuite / g++.dg / gomp / teams-1.C
bloba453c7cd47ed21a7d1806068362685ad8ac16e33
1 // { dg-do compile }
3 void
4 foo (int x)
6   bad1:                         // { dg-error "jump to label" }
7   #pragma omp target teams
8     goto bad1;                  // { dg-message "from here|exits OpenMP" }
10   goto bad2;                    // { dg-message "from here" }
11   #pragma omp target teams
12     {
13       bad2: ;                   // { dg-error "jump to label" }
14                                 // { dg-message "enters OpenMP" "" { target *-*-* } .-1 }
15     }
17   #pragma omp target teams
18     {
19       int i;
20       goto ok1;
21       for (i = 0; i < 10; ++i)
22         { ok1: break; }
23     }
25   switch (x)
26   {
27   #pragma omp target teams
28     { case 0:; }                // { dg-error "jump" }
29                                 // { dg-warning "statement will never be executed" "" { target *-*-* } 27 }
30                                 // { dg-message "enters" "" { target *-*-* } 28 }
31   }
34 void
35 bar (int x)
37   bad1:                         // { dg-error "jump to label" }
38   #pragma omp target
39   #pragma omp teams
40     goto bad1;                  // { dg-message "from here|exits OpenMP" }
42   goto bad2;                    // { dg-message "from here" }
43   #pragma omp target
44   #pragma omp teams
45     {
46       bad2: ;                   // { dg-error "jump to label" }
47                                 // { dg-message "enters OpenMP" "" { target *-*-* } .-1 }
48     }
50   #pragma omp target
51   #pragma omp teams
52     {
53       int i;
54       goto ok1;
55       for (i = 0; i < 10; ++i)
56         { ok1: break; }
57     }
59   switch (x)
60   {
61   #pragma omp target            // { dg-warning "statement will never be executed" }
62   #pragma omp teams
63     { case 0:; }                // { dg-error "jump" }
64                                 // { dg-message "enters" "" { target *-*-* } .-1 }
65   }
68 // { dg-error "invalid branch to/from OpenMP structured block" "" { target *-*-* } 8 }
69 // { dg-error "invalid entry to OpenMP structured block" "" { target *-*-* } 10 }
70 // { dg-error "invalid branch to/from OpenMP structured block" "" { target *-*-* } 40 }
71 // { dg-error "invalid entry to OpenMP structured block" "" { target *-*-* } 42 }