diff options
author | Mehdi Amini <joker.eph@gmail.com> | 2024-05-15 23:26:07 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-15 23:26:07 -0700 |
commit | 6706aebefac3c89d8df55bade022f3aeb55cfeb9 (patch) | |
tree | 127646ccda609e739c9698161bf309abb80305fe /flang/lib/Evaluate/intrinsics.cpp | |
parent | 5c35b63da3c2e3c773580f748129fdec76354ede (diff) | |
download | llvm-6706aebefac3c89d8df55bade022f3aeb55cfeb9.zip llvm-6706aebefac3c89d8df55bade022f3aeb55cfeb9.tar.gz llvm-6706aebefac3c89d8df55bade022f3aeb55cfeb9.tar.bz2 |
Revert "[flang] Add ETIME runtime and lowering intrinsics implementation" (#92354)
Reverts llvm/llvm-project#90578
This broke the premerge linux buildbot.
Diffstat (limited to 'flang/lib/Evaluate/intrinsics.cpp')
-rw-r--r-- | flang/lib/Evaluate/intrinsics.cpp | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/flang/lib/Evaluate/intrinsics.cpp b/flang/lib/Evaluate/intrinsics.cpp index ded2778..441a762 100644 --- a/flang/lib/Evaluate/intrinsics.cpp +++ b/flang/lib/Evaluate/intrinsics.cpp @@ -454,10 +454,6 @@ static const IntrinsicInterface genericIntrinsicFunction[]{ {"erf", {{"x", SameReal}}, SameReal}, {"erfc", {{"x", SameReal}}, SameReal}, {"erfc_scaled", {{"x", SameReal}}, SameReal}, - {"etime", - {{"values", TypePattern{RealType, KindCode::exactKind, 4}, Rank::vector, - Optionality::required, common::Intent::Out}}, - TypePattern{RealType, KindCode::exactKind, 4}}, {"exp", {{"x", SameFloating}}, SameFloating}, {"exp", {{"x", SameFloating}}, SameFloating}, {"exponent", {{"x", AnyReal}}, DefaultInt}, @@ -1346,12 +1342,6 @@ static const IntrinsicInterface intrinsicSubroutine[]{ {"values", AnyInt, Rank::vector, Optionality::optional, common::Intent::Out}}, {}, Rank::elemental, IntrinsicClass::impureSubroutine}, - {"etime", - {{"values", TypePattern{RealType, KindCode::exactKind, 4}, Rank::vector, - Optionality::required, common::Intent::Out}, - {"time", TypePattern{RealType, KindCode::exactKind, 4}, - Rank::scalar, Optionality::required, common::Intent::Out}}, - {}, Rank::elemental, IntrinsicClass::impureSubroutine}, {"execute_command_line", {{"command", DefaultChar, Rank::scalar}, {"wait", AnyLogical, Rank::scalar, Optionality::optional}, @@ -2494,7 +2484,6 @@ public: bool IsIntrinsic(const std::string &) const; bool IsIntrinsicFunction(const std::string &) const; bool IsIntrinsicSubroutine(const std::string &) const; - bool IsDualIntrinsic(const std::string &) const; IntrinsicClass GetIntrinsicClass(const std::string &) const; std::string GetGenericIntrinsicName(const std::string &) const; @@ -2556,17 +2545,6 @@ bool IntrinsicProcTable::Implementation::IsIntrinsic( const std::string &name) const { return IsIntrinsicFunction(name) || IsIntrinsicSubroutine(name); } -bool IntrinsicProcTable::Implementation::IsDualIntrinsic( - const std::string &name) const { - // Collection for some intrinsics with function and subroutine form, - // in order to pass the semantic check. - static const std::string dualIntrinsic[]{{"etime"}}; - - return std::find_if(std::begin(dualIntrinsic), std::end(dualIntrinsic), - [&name](const std::string &dualName) { - return dualName == name; - }) != std::end(dualIntrinsic); -} IntrinsicClass IntrinsicProcTable::Implementation::GetIntrinsicClass( const std::string &name) const { @@ -3105,7 +3083,7 @@ std::optional<SpecificCall> IntrinsicProcTable::Implementation::Probe( return specificCall; } } - if (IsIntrinsicFunction(call.name) && !IsDualIntrinsic(call.name)) { + if (IsIntrinsicFunction(call.name)) { context.messages().Say( "Cannot use intrinsic function '%s' as a subroutine"_err_en_US, call.name); @@ -3240,7 +3218,7 @@ std::optional<SpecificCall> IntrinsicProcTable::Implementation::Probe( } if (specificBuffer.empty() && genericBuffer.empty() && - IsIntrinsicSubroutine(call.name) && !IsDualIntrinsic(call.name)) { + IsIntrinsicSubroutine(call.name)) { context.messages().Say( "Cannot use intrinsic subroutine '%s' as a function"_err_en_US, call.name); |