aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Evaluate/intrinsics.cpp
diff options
context:
space:
mode:
authorPeter Klausler <pklausler@nvidia.com>2023-03-30 12:43:47 -0700
committerPeter Klausler <pklausler@nvidia.com>2023-04-03 09:00:22 -0700
commit0e28fe62c75658561569603136dff3c271d95a6e (patch)
treec8def5987c06e927c2a5f41e38f1c46749e17bf5 /flang/lib/Evaluate/intrinsics.cpp
parent32a793b687a59717bc1c0211ebeb1fcd613d1bc9 (diff)
downloadllvm-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.cpp4
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,