llvm-project/flang/test/Semantics/num_images02.f90
Katherine Rasmussen 473d780692 [flang] Add team_type to num_images intrinsic call
num_images had previously been added to the list of intrinsics
before the type team_type had been implemented. Now that team_type
is implemented, add the num_images call that has the team argument.
Update the semantics tests for num_images.

Reviewed By: craig.rasmussen

Differential Revision: https://reviews.llvm.org/D126734
2022-06-14 11:28:46 -07:00

69 lines
2.2 KiB
Fortran

! 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