41 lines · plain
1! when the loops are not DO CONCURRENT2 3! RUN: not %flang_fc1 -fdebug-unparse-with-symbols %s 2>&1 | FileCheck %s4! CHECK-NOT: image control statement not allowed in DO CONCURRENT5! CHECK-NOT: RETURN not allowed in DO CONCURRENT6! CHECK-NOT: call to impure procedure in DO CONCURRENT not allowed7! CHECK-NOT: IEEE_GET_FLAG not allowed in DO CONCURRENT8! CHECK-NOT: ADVANCE specifier not allowed in DO CONCURRENT9! CHECK-NOT: SYNC ALL10! CHECK-NOT: SYNC IMAGES11 12module ieee_exceptions13 interface14 subroutine ieee_get_flag(i, j)15 integer :: i, j16 end subroutine ieee_get_flag17 end interface18end module ieee_exceptions19 20subroutine do_concurrent_test1(i,n)21 implicit none22 integer :: i, n23 do 10 i = 1,n24 SYNC ALL25 SYNC IMAGES (*)26 return2710 continue28end subroutine do_concurrent_test129 30subroutine do_concurrent_test2(i,j,n,flag)31 use ieee_exceptions32 implicit none33 integer :: i, j, n, flag, flag234 do i = 1,n35 change team (j)36 call ieee_get_flag(flag, flag2)37 end team38 write(*,'(a35)',advance='no')39 end do40end subroutine do_concurrent_test241