brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.1 KiB · 6e9d1dd Raw
186 lines · plain
1! RUN: %python %S/../test_errors.py %s %flang_fc1 -fopenmp2! OpenMP Version 4.53! 2.7.1 Loop Construct4 5program omp6  integer i, j, k7 8  !ERROR: The value of the parameter in the COLLAPSE or ORDERED clause must not be larger than the number of nested loops following the construct.9  !$omp do  collapse(3)10  do i = 0, 1011    !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct12    cycle13    do j = 0, 1014      do k  = 0, 1015        print *, i, j, k16      end do17    end do18  end do19  !$omp end do20 21  !ERROR: The value of the parameter in the COLLAPSE or ORDERED clause must not be larger than the number of nested loops following the construct.22  !$omp do  collapse(3)23  do i = 0, 1024    do j = 0, 1025      !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct26      cycle27      do k  = 0, 1028        print *, i, j, k29      end do30    end do31  end do32  !$omp end do33 34  !ERROR: The value of the parameter in the COLLAPSE or ORDERED clause must not be larger than the number of nested loops following the construct.35  !$omp do  collapse(2)36  do i = 0, 1037    !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct38    cycle39    do j = 0, 1040      do k  = 0, 1041        print *, i, j, k42      end do43    end do44  end do45  !$omp end do46 47 48  !ERROR: The value of the parameter in the COLLAPSE or ORDERED clause must not be larger than the number of nested loops following the construct.49  !$omp do  collapse(2)50  foo: do i = 0, 1051    !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct52    cycle foo53    do j = 0, 1054      do k  = 0, 1055        print *, i, j, k56      end do57    end do58  end do foo59  !$omp end do60 61 62  !ERROR: The value of the parameter in the COLLAPSE or ORDERED clause must not be larger than the number of nested loops following the construct.63  !$omp do collapse(3)64  do 60 i=1,1065    do j=1,1066      !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct67      cycle68      do k=1,1069        print *,i70      end do71    end do72  60 continue73  !$omp end do74 75  !$omp do  collapse(3)76  foo: do i = 0, 1077    foo1: do j = 0, 1078         foo2:  do k  = 0, 1079             !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct80             cycle foo81             print *, i, j, k82           end do foo283         end do foo184  end do foo85  !$omp end do86 87  !$omp do  collapse(3)88  foo: do i = 0, 1089    foo1: do j = 0, 1090         foo2:  do k  = 0, 1091             !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct92              cycle foo193             print *, i, j, k94           end do foo295         end do foo196  end do foo97  !$omp end do98 99 100  !$omp do  collapse(2)101  foo: do i = 0, 10102    foo1: do j = 0, 10103         foo2:  do k  = 0, 10104             !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct105             cycle foo106             print *, i, j, k107           end do foo2108         end do foo1109  end do foo110  !$omp end do111 112 113  !$omp do  collapse(2)114  foo: do i = 0, 10115    foo1: do j = 0, 10116             !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct117             cycle foo118         foo2:  do k  = 0, 10119             print *, i, j, k120           end do foo2121         end do foo1122  end do foo123  !$omp end do124 125  !$omp do  ordered(2)126  foo: do i = 0, 10127    foo1: do j = 0, 10128      !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct129      cycle foo130      !ERROR: A worksharing region may not be closely nested inside a worksharing, explicit task, taskloop, critical, ordered, atomic, or master region131      !$omp do  collapse(1)132      foo2:  do k  = 0, 10133        print *, i, j, k134        end do foo2135     !$omp end do136     end do foo1137  end do foo138  !$omp end do139 140  !$omp parallel141  !$omp do collapse(2)142  foo: do i = 0, 10143    foo1: do j = 0, 10144      !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct145      cycle foo146      !$omp parallel147      !$omp do collapse(2)148      foo2:  do k  = 0, 10149        foo3:  do l  = 0, 10150          print *, i, j, k, l151          !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct152          cycle foo2153        end do foo3154      end do foo2155      !$omp end do156      !$omp end parallel157    end do foo1158  end do foo159  !$omp end do160  !$omp end parallel161 162  !$omp parallel163  !ERROR: The value of the parameter in the COLLAPSE or ORDERED clause must not be larger than the number of nested loops following the construct.164  !$omp parallel do ordered(3) collapse(2)165  foo: do i = 0, 10166    foo1: do j = 0, 10167      !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct168      cycle foo169      !$omp parallel170      !$omp parallel do collapse(2)171      foo2:  do k  = 0, 10172        foo3:  do l  = 0, 10173          print *, i, j, k, l174          !ERROR: CYCLE statement to non-innermost associated loop of an OpenMP DO construct175          cycle foo2176        end do foo3177      end do foo2178      !$omp end parallel do179      !$omp end parallel180    end do foo1181  end do foo182!$omp end parallel do183!$omp end parallel184 185end program omp186