diff options
author | Peter Klausler <pklausler@nvidia.com> | 2023-03-30 12:43:47 -0700 |
---|---|---|
committer | Peter Klausler <pklausler@nvidia.com> | 2023-04-03 09:00:22 -0700 |
commit | 0e28fe62c75658561569603136dff3c271d95a6e (patch) | |
tree | c8def5987c06e927c2a5f41e38f1c46749e17bf5 /flang/lib/Evaluate/intrinsics.cpp | |
parent | 32a793b687a59717bc1c0211ebeb1fcd613d1bc9 (diff) | |
download | llvm-0e28fe62c75658561569603136dff3c271d95a6e.zip llvm-0e28fe62c75658561569603136dff3c271d95a6e.tar.gz llvm-0e28fe62c75658561569603136dff3c271d95a6e.tar.bz2 |
[flang] NORM2(DIM=) argument can't be dynamically optional
The intrinsic function table entry for NORM2 treats its DIM=
argument as if it can be dynamically optional; this is wrong,
and it should be treated in the same way as DIM= is for other
transformational intrinsic functions like SUM.
Differential Revision: https://reviews.llvm.org/D147390
Diffstat (limited to 'flang/lib/Evaluate/intrinsics.cpp')
-rw-r--r-- | flang/lib/Evaluate/intrinsics.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/flang/lib/Evaluate/intrinsics.cpp b/flang/lib/Evaluate/intrinsics.cpp index e82b62e..41e1e5c 100644 --- a/flang/lib/Evaluate/intrinsics.cpp +++ b/flang/lib/Evaluate/intrinsics.cpp @@ -685,8 +685,10 @@ static const IntrinsicInterface genericIntrinsicFunction[]{ common::Intent::In, {ArgFlag::canBeNull}}}, SameCharNoLen, Rank::scalar, IntrinsicClass::inquiryFunction}, {"nint", {{"a", AnyReal}, DefaultingKIND}, KINDInt}, - {"norm2", {{"x", SameReal, Rank::array}, OptionalDIM}, SameReal, + {"norm2", {{"x", SameReal, Rank::array}, RequiredDIM}, SameReal, Rank::dimReduced, IntrinsicClass::transformationalFunction}, + {"norm2", {{"x", SameReal, Rank::array}, MissingDIM}, SameReal, + Rank::scalar, IntrinsicClass::transformationalFunction}, {"not", {{"i", SameInt}}, SameInt}, // NULL() is a special case handled in Probe() below {"num_images", {}, DefaultInt, Rank::scalar, |