58 lines · plain
1! RUN: %python %S/test_errors.py %s %flang_fc12! Check for semantic errors in get_team(), as defined in3! section 16.9.85 of the Fortran 2018 standard4 5program get_team_test6 use iso_fortran_env, only: team_type, initial_team, current_team, parent_team7 implicit none8 9 integer n, array(1), coarray[*]10 type(team_type) :: result_team11 logical wrong_result_type, non_integer12 13 result_team = team_type()14 15 !___ standard-conforming statement with no optional arguments present ___16 result_team = get_team()17 18 !___ standard-conforming statements with optional level argument present ___19 result_team = get_team(-1)20 result_team = get_team(-2)21 result_team = get_team(-3)22 result_team = get_team(initial_team)23 result_team = get_team(current_team)24 result_team = get_team(parent_team)25 result_team = get_team(n)26 result_team = get_team(array(1))27 result_team = get_team(array(n))28 result_team = get_team(coarray[1])29 result_team = get_team(level=initial_team)30 result_team = get_team(level=n)31 32 !___ non-conforming statements ___33 !ERROR: 'level=' argument has unacceptable rank 134 result_team = get_team(array)35 36 !ERROR: Actual argument for 'level=' has bad type 'LOGICAL(4)'37 result_team = get_team(non_integer)38 39 !ERROR: Actual argument for 'level=' has bad type 'REAL(4)'40 result_team = get_team(3.4)41 42 !ERROR: too many actual arguments for intrinsic 'get_team'43 result_team = get_team(current_team, parent_team)44 45 !ERROR: Actual argument for 'level=' has bad type 'REAL(4)'46 result_team = get_team(level=3.4)47 48 !ERROR: unknown keyword argument to intrinsic 'get_team'49 result_team = get_team(levels=initial_team)50 51 !ERROR: repeated keyword argument to intrinsic 'get_team'52 result_team = get_team(level=initial_team, level=parent_team)53 54 !ERROR: No intrinsic or user-defined ASSIGNMENT(=) matches operand types LOGICAL(4) and TYPE(team_type)55 wrong_result_type = get_team()56 57end program get_team_test58