[flang-commits] [flang] 473d780 - [flang] Add team_type to num_images intrinsic call
Katherine Rasmussen via flang-commits
flang-commits at lists.llvm.org
Tue Jun 14 11:29:17 PDT 2022
Author: Katherine Rasmussen
Date: 2022-06-14T11:28:46-07:00
New Revision: 473d780692ee06683cdd82999bf31fcbea065061
URL: https://github.com/llvm/llvm-project/commit/473d780692ee06683cdd82999bf31fcbea065061
DIFF: https://github.com/llvm/llvm-project/commit/473d780692ee06683cdd82999bf31fcbea065061.diff
LOG: [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
Added:
Modified:
flang/lib/Evaluate/intrinsics.cpp
flang/test/Semantics/num_images01.f90
flang/test/Semantics/num_images02.f90
Removed:
################################################################################
diff --git a/flang/lib/Evaluate/intrinsics.cpp b/flang/lib/Evaluate/intrinsics.cpp
index 64aafe5e50832..a341da2eadb0b 100644
--- a/flang/lib/Evaluate/intrinsics.cpp
+++ b/flang/lib/Evaluate/intrinsics.cpp
@@ -629,6 +629,8 @@ static const IntrinsicInterface genericIntrinsicFunction[]{
// NULL() is a special case handled in Probe() below
{"num_images", {}, DefaultInt, Rank::scalar,
IntrinsicClass::transformationalFunction},
+ {"num_images", {{"team", TeamType, Rank::scalar}}, DefaultInt, Rank::scalar,
+ IntrinsicClass::transformationalFunction},
{"num_images", {{"team_number", AnyInt, Rank::scalar}}, DefaultInt,
Rank::scalar, IntrinsicClass::transformationalFunction},
{"out_of_range",
diff --git a/flang/test/Semantics/num_images01.f90 b/flang/test/Semantics/num_images01.f90
index 03bd0f4f46775..37f360b2c691e 100644
--- a/flang/test/Semantics/num_images01.f90
+++ b/flang/test/Semantics/num_images01.f90
@@ -2,11 +2,17 @@
! Check for semantic errors in num_images() function calls
subroutine test
+ use iso_fortran_env, only: team_type
+ implicit none
+
+ type(team_type) my_team
! correct calls, should produce no errors
print *, num_images()
print *, num_images(team_number=1)
print *, num_images(1)
+ print *, num_images(my_team)
+ print *, num_images(team=my_team)
! incorrectly typed argument
! the error is seen as too many arguments to the num_images() call with no arguments
@@ -25,6 +31,7 @@ subroutine test
!ERROR: unknown keyword argument to intrinsic 'num_images'
print *, num_images(team_numbers=1)
- !TODO: test num_images() calls related to team_type argument
+ !ERROR: unknown keyword argument to intrinsic 'num_images'
+ print *, num_images(teams=my_team)
end subroutine
diff --git a/flang/test/Semantics/num_images02.f90 b/flang/test/Semantics/num_images02.f90
index 378bdc8514d9e..fb052644c9524 100644
--- a/flang/test/Semantics/num_images02.f90
+++ b/flang/test/Semantics/num_images02.f90
@@ -21,12 +21,8 @@ program num_images_with_team_type
n = num_images(standard_initial_value)
n = num_images(coindexed[1])
- !___ standard-conforming statements with team_type argument present (not yet supported) ___
-
- !ERROR: too many actual arguments for intrinsic 'num_images'
+ !___ standard-conforming statements with team_type argument present ___
n = num_images(home)
-
- !ERROR: unknown keyword argument to intrinsic 'num_images'
n = num_images(team=home)
!___ non-conforming statements ___
More information about the flang-commits
mailing list