! RUN: %python %S/test_errors.py %s %flang_fc1
! Check for semantic errors in num_images() function calls

program num_images_with_team_type
  use iso_fortran_env, only : team_type
  implicit none

  type(team_type) home, league(2)
  integer n
  integer :: standard_initial_value = -1
  integer coindexed[*]
  integer array(1)

  !___ standard-conforming statement with no optional arguments present ___
  n = num_images()

  !___ standard-conforming statements with team_number argument present ___
  n = num_images(-1)
  n = num_images(team_number = -1)
  n = num_images(team_number = standard_initial_value)
  n = num_images(standard_initial_value)
  n = num_images(coindexed[1])

  !___ standard-conforming statements with team_type argument present ___
  n = num_images(home)
  n = num_images(team=home)

  !___ non-conforming statements ___

  ! non-scalar integer argument 
  !ERROR: unknown keyword argument to intrinsic 'num_images'
  n = num_images(team_number=array)

  ! non-scalar team_type argument 
  !ERROR: unknown keyword argument to intrinsic 'num_images'
  n = num_images(team=league)

  ! incorrectly typed argument
  !ERROR: too many actual arguments for intrinsic 'num_images'
  n = num_images(3.4)

  !ERROR: too many actual arguments for intrinsic 'num_images'
  n = num_images(1, -1)

  !ERROR: too many actual arguments for intrinsic 'num_images'
  n = num_images(home, standard_initial_value)

  ! keyword argument with incorrect type
  !ERROR: unknown keyword argument to intrinsic 'num_images'
  n = num_images(team_number=1.1)

  ! incorrect keyword argument name but valid type (type number)
  !ERROR: unknown keyword argument to intrinsic 'num_images'
  n = num_images(team_num=-1)

  ! incorrect keyword argument name but valid type (team_type)
  !ERROR: unknown keyword argument to intrinsic 'num_images'
  n = num_images(my_team=home)

  ! correct keyword argument name but mismatched type
  !ERROR: unknown keyword argument to intrinsic 'num_images'
  n = num_images(team=-1)

  ! correct keyword argument name but mismatched type
  !ERROR: unknown keyword argument to intrinsic 'num_images'
  n = num_images(team_number=home)

end program num_images_with_team_type
