Hi! I meant it in the other testcases too: While these testcases are dg-do compile only, I think it is better not to give users bad examples and avoid unnecessary data races in testcases (unless it is exactly what we want to test). Perhaps one day we'll do some analysis and warn about data races...
Tested on x86_64-linux, committed to trunk. 2021-10-21 Jakub Jelinek <ja...@redhat.com> * gfortran.dg/gomp/strictly-structured-block-1.f90: Use call do_work instead of x = x + 1 in places where the latter could be a data race. * gfortran.dg/gomp/strictly-structured-block-2.f90: Likewise. * gfortran.dg/gomp/strictly-structured-block-3.f90: Likewise. --- gcc/testsuite/gfortran.dg/gomp/strictly-structured-block-1.f90.jj 2021-10-21 10:23:27.544833287 +0200 +++ gcc/testsuite/gfortran.dg/gomp/strictly-structured-block-1.f90 2021-10-21 11:03:41.146041455 +0200 @@ -9,23 +9,23 @@ program main !$omp parallel block - x = x + 1 + call do_work end block !$omp parallel block - x = x + 1 + call do_work end block !$omp end parallel !$omp teams block - x = x + 1 + call do_work end block !$omp teams block - x = x + 1 + call do_work end block !$omp end teams @@ -42,12 +42,12 @@ program main !$omp scope block - x = x + 1 + call do_work end block !$omp scope block - x = x + 1 + call do_work end block !$omp end scope @@ -75,12 +75,12 @@ program main !$omp task block - x = x + 1 + call do_work end block !$omp task block - x = x + 1 + call do_work end block !$omp end task @@ -130,23 +130,23 @@ program main !$omp target parallel block - x = x + 1 + call do_work end block !$omp target parallel block - x = x + 1 + call do_work end block !$omp end target parallel !$omp target teams block - x = x + 1 + call do_work end block !$omp target teams block - x = x + 1 + call do_work end block !$omp end target teams @@ -176,7 +176,7 @@ program main do i = 1, n !$omp ordered block - x = x + 1 + call do_work end block end do @@ -184,7 +184,7 @@ program main do i = 1, n !$omp ordered block - x = x + 1 + call do_work end block !$omp end ordered end do --- gcc/testsuite/gfortran.dg/gomp/strictly-structured-block-2.f90.jj 2021-10-21 10:23:27.544833287 +0200 +++ gcc/testsuite/gfortran.dg/gomp/strictly-structured-block-2.f90 2021-10-21 11:05:04.326876447 +0200 @@ -9,16 +9,16 @@ program main !$omp parallel block - x = x + 1 + call do_work end block - x = x + 1 + call do_work !$omp end parallel ! { dg-error "Unexpected !.OMP END PARALLEL statement" } !$omp teams block - x = x + 1 + call do_work end block - x = x + 1 + call do_work !$omp end teams ! { dg-error "Unexpected !.OMP END TEAMS statement" } !$omp masked @@ -30,9 +30,9 @@ program main !$omp scope block - x = x + 1 + call do_work end block - x = x + 1 + call do_work !$omp end scope ! { dg-error "Unexpected !.OMP END SCOPE statement" } !$omp single @@ -51,9 +51,9 @@ program main !$omp task block - x = x + 1 + call do_work end block - x = x + 1 + call do_work !$omp end task ! { dg-error "Unexpected !.OMP END TASK statement" } !$omp target data map(x) @@ -86,16 +86,16 @@ program main !$omp target parallel block - x = x + 1 + call do_work end block - x = x + 1 + call do_work !$omp end target parallel ! { dg-error "Unexpected !.OMP END TARGET PARALLEL statement" } !$omp target teams block - x = x + 1 + call do_work end block - x = x + 1 + call do_work !$omp end target teams ! { dg-error "Unexpected !.OMP END TARGET TEAMS statement" } !$omp critical @@ -116,9 +116,9 @@ program main do i = 1, n !$omp ordered block - x = x + 1 + call do_work end block - x = x + 1 + call do_work !$omp end ordered ! { dg-error "Unexpected !.OMP END ORDERED statement" } end do --- gcc/testsuite/gfortran.dg/gomp/strictly-structured-block-3.f90.jj 2021-10-21 10:23:27.544833287 +0200 +++ gcc/testsuite/gfortran.dg/gomp/strictly-structured-block-3.f90 2021-10-21 11:07:21.441956054 +0200 @@ -10,7 +10,7 @@ program main !$omp parallel !$omp parallel block - x = x + 1 + call do_work end block !$omp end parallel !$omp end parallel @@ -32,7 +32,7 @@ program main end block x = x + 2 !$omp section - x = x + 4 + call do_work end block !$omp sections Jakub