! RUN: %S/test_errors.sh %s %t %f18
! C1167 -- An exit-stmt shall not appear within a DO CONCURRENT construct if 
! it belongs to that construct or an outer construct.

subroutine do_concurrent_test1(n)
  implicit none
  integer :: i1,i2,i3,i4,i5,i6,n
  mytest1: if (n>0) then
  nc1:       do concurrent(i1=1:n)
  nc2:         do i2=1,n
  nc3:           do concurrent(i3=1:n)
  nc4:             do i4=1,n
  nc5:               do concurrent(i5=1:n)
  nc6:                 do i6=1,n
!ERROR: EXIT must not leave a DO CONCURRENT statement
!ERROR: EXIT must not leave a DO CONCURRENT statement
!ERROR: EXIT must not leave a DO CONCURRENT statement
                         if (i6==10) exit mytest1
                       end do nc6
                     end do nc5
                   end do nc4
                 end do nc3
               end do nc2
             end do nc1
           end if mytest1
end subroutine do_concurrent_test1

subroutine do_concurrent_test2(n)
  implicit none
  integer :: i1,i2,i3,i4,i5,i6,n
  mytest2: if (n>0) then
  nc1:       do concurrent(i1=1:n)
  nc2:         do i2=1,n
  nc3:           do concurrent(i3=1:n)
  nc4:             do i4=1,n
  nc5:               do concurrent(i5=1:n)
  nc6:                 do i6=1,n
!ERROR: EXIT must not leave a DO CONCURRENT statement
!ERROR: EXIT must not leave a DO CONCURRENT statement
                         if (i6==10) exit nc3
                       end do nc6
                     end do nc5
                   end do nc4
                 end do nc3
               end do nc2
             end do nc1
           end if mytest2
end subroutine do_concurrent_test2

subroutine do_concurrent_test3(n)
  implicit none
  integer :: i1,i2,i3,i4,i5,i6,n
  mytest3: if (n>0) then
  nc1:       do concurrent(i1=1:n)
  nc2:         do i2=1,n
  nc3:           do concurrent(i3=1:n)
!ERROR: EXIT must not leave a DO CONCURRENT statement
                   if (i3==4) exit nc2
  nc4:             do i4=1,n
  nc5:               do concurrent(i5=1:n)
  nc6:                 do i6=1,n
                         if (i6==10) print *, "hello"
                       end do nc6
                     end do nc5
                   end do nc4
                 end do nc3
               end do nc2
             end do nc1
           end if mytest3
end subroutine do_concurrent_test3
