aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/gomp/strictly-structured-block-2.f90
blob: ad4d08a1d49574da774b96338c56afcacd3b38dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
! { dg-do compile }
! { dg-options "-fopenmp" }

program main
  integer :: x, i, n

  x = 0
  n = 10

  !$omp parallel
  block
    call do_work
  end block
  call do_work
  !$omp end parallel ! { dg-error "Unexpected !.OMP END PARALLEL statement" }

  !$omp teams
  block
    call do_work
  end block
  call do_work
  !$omp end teams ! { dg-error "Unexpected !.OMP END TEAMS statement" }

  !$omp masked
  block
    x = x + 1
  end block
  x = x + 1
  !$omp end masked ! { dg-error "Unexpected !.OMP END MASKED statement" }

  !$omp scope
  block
    call do_work
  end block
  call do_work
  !$omp end scope ! { dg-error "Unexpected !.OMP END SCOPE statement" }

  !$omp single
  block
    x = x + 1
  end block
  x = x + 1
  !$omp end single ! { dg-error "Unexpected !.OMP END SINGLE statement" }

  !$omp workshare
  block
    x = x + 1
  end block
  x = x + 1
  !$omp end workshare ! { dg-error "Unexpected !.OMP END WORKSHARE statement" }

  !$omp task
  block
    call do_work
  end block
  call do_work
  !$omp end task ! { dg-error "Unexpected !.OMP END TASK statement" }

  !$omp target data map(x)
  block
    x = x + 1
  end block
  x = x + 1
  !$omp end target data ! { dg-error "Unexpected !.OMP END TARGET DATA statement" }

  !$omp target
  block
    x = x + 1
  end block
  x = x + 1
  !$omp end target ! { dg-error "Unexpected !.OMP END TARGET statement" }

  !$omp parallel workshare
  block
    x = x + 1
  end block
  x = x + 1
  !$omp end parallel workshare ! { dg-error "Unexpected !.OMP END PARALLEL WORKSHARE statement" }

  !$omp parallel masked
  block
    x = x + 1
  end block
  x = x + 1
  !$omp end parallel masked ! { dg-error "Unexpected !.OMP END PARALLEL MASKED statement" }

  !$omp target parallel
  block
    call do_work
  end block
  call do_work
  !$omp end target parallel ! { dg-error "Unexpected !.OMP END TARGET PARALLEL statement" }

  !$omp target teams
  block
    call do_work
  end block
  call do_work
  !$omp end target teams ! { dg-error "Unexpected !.OMP END TARGET TEAMS statement" }

  !$omp critical
  block
    x = x + 1
  end block
  x = x + 1
  !$omp end critical ! { dg-error "Unexpected !.OMP END CRITICAL statement" }

  !$omp taskgroup
  block
    x = x + 1
  end block
  x = x + 1
  !$omp end taskgroup ! { dg-error "Unexpected !.OMP END TASKGROUP statement" }

  !$omp do ordered
  do i = 1, n
     !$omp ordered
     block
       call do_work
     end block
     call do_work
     !$omp end ordered ! { dg-error "Unexpected !.OMP END ORDERED statement" }
  end do

  !$omp master
  block
    x = x + 1
  end block
  x = x + 1
  !$omp end master ! { dg-error "Unexpected !.OMP END MASTER statement" }

  !$omp parallel master
  block
    x = x + 1
  end block
  x = x + 1
  !$omp end parallel master ! { dg-error "Unexpected !.OMP END PARALLEL MASTER statement" }

end program