diff options
author | Katherine Rasmussen <krasmussen@lbl.gov> | 2024-01-30 16:01:02 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-30 16:01:02 -0800 |
commit | 8b38970811086b09752a5909d0c17de4d0cd04c3 (patch) | |
tree | 9bcc2c55ce6202caac87481f929f8789be9f9a94 /flang/lib/Evaluate/intrinsics.cpp | |
parent | c8c3fe70ae09a48408ee15a256e52a4624e0291c (diff) | |
download | llvm-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.cpp | 13 |
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, |