aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Evaluate/intrinsics.cpp
diff options
context:
space:
mode:
authorKatherine Rasmussen <krasmussen@lbl.gov>2024-01-30 16:01:02 -0800
committerGitHub <noreply@github.com>2024-01-30 16:01:02 -0800
commit8b38970811086b09752a5909d0c17de4d0cd04c3 (patch)
tree9bcc2c55ce6202caac87481f929f8789be9f9a94 /flang/lib/Evaluate/intrinsics.cpp
parentc8c3fe70ae09a48408ee15a256e52a4624e0291c (diff)
downloadllvm-8b38970811086b09752a5909d0c17de4d0cd04c3.zip
llvm-8b38970811086b09752a5909d0c17de4d0cd04c3.tar.gz
llvm-8b38970811086b09752a5909d0c17de4d0cd04c3.tar.bz2
[flang] Add image_index to list of intrinsics and add tests (#79519)
Add image_index to the list of intrinsic functions and add additional check on its args in check-call.cpp. Add two semantics tests for image_index.
Diffstat (limited to 'flang/lib/Evaluate/intrinsics.cpp')
-rw-r--r--flang/lib/Evaluate/intrinsics.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/flang/lib/Evaluate/intrinsics.cpp b/flang/lib/Evaluate/intrinsics.cpp
index d822413..b76ea47 100644
--- a/flang/lib/Evaluate/intrinsics.cpp
+++ b/flang/lib/Evaluate/intrinsics.cpp
@@ -531,6 +531,17 @@ static const IntrinsicInterface genericIntrinsicFunction[]{
{"ieor", {{"i", OperandInt}, {"j", OperandInt, Rank::elementalOrBOZ}},
OperandInt},
{"ieor", {{"i", BOZ}, {"j", SameInt}}, SameInt},
+ {"image_index",
+ {{"coarray", AnyData, Rank::coarray}, {"sub", AnyInt, Rank::vector}},
+ DefaultInt, Rank::scalar, IntrinsicClass::transformationalFunction},
+ {"image_index",
+ {{"coarray", AnyData, Rank::coarray}, {"sub", AnyInt, Rank::vector},
+ {"team", TeamType, Rank::scalar}},
+ DefaultInt, Rank::scalar, IntrinsicClass::transformationalFunction},
+ {"image_index",
+ {{"coarray", AnyData, Rank::coarray}, {"sub", AnyInt, Rank::vector},
+ {"team_number", AnyInt, Rank::scalar}},
+ DefaultInt, Rank::scalar, IntrinsicClass::transformationalFunction},
{"image_status", {{"image", SameInt}, OptionalTEAM}, DefaultInt},
{"index",
{{"string", SameCharNoLen}, {"substring", SameCharNoLen},
@@ -932,7 +943,7 @@ static const IntrinsicInterface genericIntrinsicFunction[]{
};
// TODO: Coarray intrinsic functions
-// IMAGE_INDEX, COSHAPE
+// COSHAPE
// TODO: Non-standard intrinsic functions
// SHIFT,
// COMPL, EQV, NEQV, INT8, JINT, JNINT, KNINT,