[flang-commits] [flang] [flang] Remove GCC 7.2 workarounds (PR #73574)
Brad Smith via flang-commits
flang-commits at lists.llvm.org
Mon Nov 27 18:58:47 PST 2023
https://github.com/brad0 updated https://github.com/llvm/llvm-project/pull/73574
>From 95ed284b0f263cf3661197aa9386fdb3434f767b Mon Sep 17 00:00:00 2001
From: Brad Smith <brad at comstyle.com>
Date: Mon, 27 Nov 2023 17:06:49 -0500
Subject: [PATCH] [flang] Remove GCC 7.2 workarounds
The minimum GCC version was bumped from 7.1 to 7.4 so garbage collect
the 7.2 workarounds.
https://reviews.llvm.org/D156286
---
flang/lib/Evaluate/variable.cpp | 20 ++------------------
flang/lib/Semantics/symbol.cpp | 20 ++++----------------
2 files changed, 6 insertions(+), 34 deletions(-)
diff --git a/flang/lib/Evaluate/variable.cpp b/flang/lib/Evaluate/variable.cpp
index 29483b103054c83..d73ba835a0524ab 100644
--- a/flang/lib/Evaluate/variable.cpp
+++ b/flang/lib/Evaluate/variable.cpp
@@ -567,15 +567,7 @@ template <typename T> BaseObject Designator<T>::GetBaseObject() const {
common::visitors{
[](SymbolRef symbol) { return BaseObject{symbol}; },
[](const Substring &sstring) { return sstring.GetBaseObject(); },
- [](const auto &x) {
-#if !__clang__ && __GNUC__ == 7 && __GNUC_MINOR__ == 2
- if constexpr (std::is_same_v<std::decay_t<decltype(x)>,
- Substring>) {
- return x.GetBaseObject();
- } else
-#endif
- return BaseObject{x.GetFirstSymbol()};
- },
+ [](const auto &x) { return BaseObject{x.GetFirstSymbol()}; },
},
u);
}
@@ -585,15 +577,7 @@ template <typename T> const Symbol *Designator<T>::GetLastSymbol() const {
common::visitors{
[](SymbolRef symbol) { return &*symbol; },
[](const Substring &sstring) { return sstring.GetLastSymbol(); },
- [](const auto &x) {
-#if !__clang__ && __GNUC__ == 7 && __GNUC_MINOR__ == 2
- if constexpr (std::is_same_v<std::decay_t<decltype(x)>,
- Substring>) {
- return x.GetLastSymbol();
- } else
-#endif
- return &x.GetLastSymbol();
- },
+ [](const auto &x) { return &x.GetLastSymbol(); },
},
u);
}
diff --git a/flang/lib/Semantics/symbol.cpp b/flang/lib/Semantics/symbol.cpp
index 2ce8e83e4771467..6b9f1071f6091ef 100644
--- a/flang/lib/Semantics/symbol.cpp
+++ b/flang/lib/Semantics/symbol.cpp
@@ -733,22 +733,10 @@ bool GenericKind::IsOperator() const {
std::string GenericKind::ToString() const {
return common::visit(
- common::visitors {
- [](const OtherKind &x) { return std::string{EnumToString(x)}; },
- [](const common::DefinedIo &x) { return AsFortran(x).ToString(); },
-#if !__clang__ && __GNUC__ == 7 && __GNUC_MINOR__ == 2
- [](const common::NumericOperator &x) {
- return std::string{common::EnumToString(x)};
- },
- [](const common::LogicalOperator &x) {
- return std::string{common::EnumToString(x)};
- },
- [](const common::RelationalOperator &x) {
- return std::string{common::EnumToString(x)};
- },
-#else
- [](const auto &x) { return std::string{common::EnumToString(x)}; },
-#endif
+ common::visitors{
+ [](const OtherKind &x) { return std::string{EnumToString(x)}; },
+ [](const common::DefinedIo &x) { return AsFortran(x).ToString(); },
+ [](const auto &x) { return std::string{common::EnumToString(x)}; },
},
u);
}
More information about the flang-commits
mailing list