Break circular dependency between FIR dialect and utilities
[llvm-project.git] / flang / test / Semantics / doconcurrent07.f90
blob982608591f42969ee04078c65e5755c83a9c475e
1 ! RUN: %flang_fc1 -fdebug-unparse-with-symbols %s 2>&1 | FileCheck %s
2 ! CHECK-NOT: exit from DO CONCURRENT construct
4 subroutine do_concurrent_test1(n)
5 implicit none
6 integer :: j,k,l,n
7 mytest: if (n>0) then
8 mydoc: do concurrent(j=1:n)
9 mydo: do k=1,n
10 if (k==5) exit
11 if (k==6) exit mydo
12 end do mydo
13 do concurrent(l=1:n)
14 if (l==5) print *, "test"
15 end do
16 end do mydoc
17 do k=1,n
18 if (k==5) exit mytest
19 end do
20 end if mytest
21 end subroutine do_concurrent_test1
23 subroutine do_concurrent_test2(n)
24 implicit none
25 integer :: i1,i2,i3,i4,i5,i6,n
26 mytest2: if (n>0) then
27 nc1: do concurrent(i1=1:n)
28 nc2: do i2=1,n
29 nc3: do concurrent(i3=1:n)
30 nc4: do i4=1,n
31 if (i3==4) exit nc4
32 nc5: do concurrent(i5=1:n)
33 nc6: do i6=1,n
34 if (i6==10) print *, "hello"
35 end do nc6
36 end do nc5
37 end do nc4
38 end do nc3
39 end do nc2
40 end do nc1
41 end if mytest2
42 end subroutine do_concurrent_test2