diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/gomp/metadirective-8.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/gomp/metadirective-8.f90 | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/gomp/metadirective-8.f90 b/gcc/testsuite/gfortran.dg/gomp/metadirective-8.f90 new file mode 100644 index 0000000..1ebcd33 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/gomp/metadirective-8.f90 @@ -0,0 +1,22 @@ +! { dg-do compile } + +program test + integer :: i + integer, parameter :: N = 100 + integer :: sum = 0 + + ! The compiler should never consider a situation where both metadirectives + ! match, but that does not matter because the spec says "Replacement of + ! the metadirective with the directive variant associated with any of the + ! dynamic replacement candidates must result in a conforming OpenMP + ! program. So the second metadirective is rejected as not being + ! a valid loop-nest even if the first one does not match. + +!$omp metadirective when (implementation={vendor("ibm")}: & + !$omp& target teams distribute) + !$omp metadirective when (implementation={vendor("gnu")}: parallel do) ! { dg-error "Unexpected !.OMP METADIRECTIVE statement" } + do i = 1, N + sum = sum + i + end do +end program + |