! RUN: %python %S/test_errors.py %s %flang_fc1
!C1118

subroutine test1
  critical
    !ERROR: RETURN statement is not allowed in a CRITICAL construct
    return
  end critical
end subroutine test1

subroutine test2()
  implicit none
  critical
    !ERROR: An image control statement is not allowed in a CRITICAL construct
    SYNC ALL
  end critical
end subroutine test2

subroutine test3()
  use iso_fortran_env, only: team_type
  implicit none
  type(team_type) :: j
  critical
    !ERROR: An image control statement is not allowed in a CRITICAL construct
    sync team (j)
  end critical
end subroutine test3

subroutine test4()
  integer, allocatable, codimension[:] :: ca

  critical
    !ERROR: An image control statement is not allowed in a CRITICAL construct
    allocate(ca[*])
  end critical

  critical
    !ERROR: An image control statement is not allowed in a CRITICAL construct
    deallocate(ca)
  end critical
end subroutine test4

subroutine test5()
  use iso_fortran_env, only: team_type
  implicit none
  type(team_type) :: j
  critical
    change team (j)
    !ERROR: An image control statement is not allowed in a CRITICAL construct
    end team
  end critical
end subroutine test5

subroutine test6
  critical
    critical
    !ERROR: An image control statement is not allowed in a CRITICAL construct
    end critical
  end critical
end subroutine test6

subroutine test7()
  use iso_fortran_env
  type(event_type) :: x, y
  critical
    !ERROR: An image control statement is not allowed in a CRITICAL construct
    event post (x)
    !ERROR: An image control statement is not allowed in a CRITICAL construct
    event wait (y)
  end critical
end subroutine test7

subroutine test8()
  use iso_fortran_env
  type(team_type) :: t

  critical
    !ERROR: An image control statement is not allowed in a CRITICAL construct
    form team(1, t)
  end critical
end subroutine test8

subroutine test9()
  use iso_fortran_env
  type(lock_type) :: l

  critical
    !ERROR: An image control statement is not allowed in a CRITICAL construct
    lock(l)
    !ERROR: An image control statement is not allowed in a CRITICAL construct
    unlock(l)
  end critical
end subroutine test9

subroutine test10()
  use iso_fortran_env
  integer, allocatable, codimension[:] :: ca
  allocate(ca[*])

  critical
    block
      integer, allocatable, codimension[:] :: cb
      cb = ca
    !TODO: Deallocation of this coarray is not currently caught
    end block
  end critical
end subroutine test10

subroutine test11()
  integer, allocatable, codimension[:] :: ca, cb
  critical
    !ERROR: An image control statement is not allowed in a CRITICAL construct
    call move_alloc(cb, ca)
  end critical
end subroutine test11

subroutine test12()
  critical
    !ERROR: An image control statement is not allowed in a CRITICAL construct
    stop
  end critical
end subroutine test12
