! 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