]> gcc.gnu.org Git - gcc.git/blob - gcc/testsuite/c-c++-common/goacc/sb-1.c
Merge current set of OpenACC changes from gomp-4_0-branch.
[gcc.git] / gcc / testsuite / c-c++-common / goacc / sb-1.c
1 // { dg-skip-if "not yet" { c++ } }
2
3 void foo()
4 {
5 int l;
6
7 bad1:
8 #pragma acc parallel
9 goto bad1; // { dg-error "invalid branch to/from OpenACC structured block" }
10 #pragma acc kernels
11 goto bad1; // { dg-error "invalid branch to/from OpenACC structured block" }
12 #pragma acc data
13 goto bad1; // { dg-error "invalid branch to/from OpenACC structured block" }
14 #pragma acc loop
15 for (l = 0; l < 2; ++l)
16 goto bad1; // { dg-error "invalid branch to/from OpenACC structured block" }
17
18 goto bad2_parallel; // { dg-error "invalid entry to OpenACC structured block" }
19 #pragma acc parallel
20 {
21 bad2_parallel: ;
22 }
23
24 goto bad2_kernels; // { dg-error "invalid entry to OpenACC structured block" }
25 #pragma acc kernels
26 {
27 bad2_kernels: ;
28 }
29
30 goto bad2_data; // { dg-error "invalid entry to OpenACC structured block" }
31 #pragma acc data
32 {
33 bad2_data: ;
34 }
35
36 goto bad2_loop; // { dg-error "invalid entry to OpenACC structured block" }
37 #pragma acc loop
38 for (l = 0; l < 2; ++l)
39 {
40 bad2_loop: ;
41 }
42
43 #pragma acc parallel
44 {
45 int i;
46 goto ok1_parallel;
47 for (i = 0; i < 10; ++i)
48 { ok1_parallel: break; }
49 }
50
51 #pragma acc kernels
52 {
53 int i;
54 goto ok1_kernels;
55 for (i = 0; i < 10; ++i)
56 { ok1_kernels: break; }
57 }
58
59 #pragma acc data
60 {
61 int i;
62 goto ok1_data;
63 for (i = 0; i < 10; ++i)
64 { ok1_data: break; }
65 }
66
67 #pragma acc loop
68 for (l = 0; l < 2; ++l)
69 {
70 int i;
71 goto ok1_loop;
72 for (i = 0; i < 10; ++i)
73 { ok1_loop: break; }
74 }
75 }
This page took 0.038056 seconds and 5 git commands to generate.