! { dg-do compile } ! { dg-additional-options "-fcoarray=single" } module test contains subroutine oacc1 implicit none integer :: i, j j = 0 !$acc parallel critical ! { dg-error "CRITICAL block inside of" } j = j + 1 end critical !$acc end parallel end subroutine oacc1 subroutine oacc2 implicit none integer :: i, j j = 0 critical !$acc parallel ! { dg-error "OpenACC directive inside of" } j = j + 1 !$acc end parallel end critical end subroutine oacc2 end module test