On 9/24/24 7:51 AM, Jason Merrill wrote:
Tested x86_64-pc-linux-gnu.

Is this the right fix, or do we want to stop using these deprecated classes,
here and in stl_function.h?

Oops, adding libstdc++ CC.

-- 8< --

The CI saw failures on 17_intro/headers/c++2011/parallel_mode.cc due to
-Wdeprecated-declarations warnings in some parallel/ headers.

libstdc++-v3/ChangeLog:

        * include/parallel/base.h: Suppress -Wdeprecated-declarations.
        * include/parallel/multiseq_selection.h: Likewise.
---
  libstdc++-v3/include/parallel/base.h               | 4 ++++
  libstdc++-v3/include/parallel/multiseq_selection.h | 6 ++++++
  2 files changed, 10 insertions(+)

diff --git a/libstdc++-v3/include/parallel/base.h 
b/libstdc++-v3/include/parallel/base.h
index 5bc5350e723..fcbcc1e0b99 100644
--- a/libstdc++-v3/include/parallel/base.h
+++ b/libstdc++-v3/include/parallel/base.h
@@ -166,6 +166,8 @@ namespace __gnu_parallel
        { return !_M_comp(__a, __b) && !_M_comp(__b, __a); }
      };
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations" // *nary_function
/** @brief Similar to std::unary_negate,
     *  but giving the argument types explicitly. */
@@ -297,6 +299,8 @@ namespace __gnu_parallel
      struct _Multiplies<_Tp, _Tp, _Tp>
      : public std::multiplies<_Tp> { };
+#pragma GCC diagnostic pop // -Wdeprecated-declarations
+
    /** @brief _Iterator associated with __gnu_parallel::_PseudoSequence.
     *  If features the usual random-access iterator functionality.
     *  @param _Tp Sequence _M_value type.
diff --git a/libstdc++-v3/include/parallel/multiseq_selection.h 
b/libstdc++-v3/include/parallel/multiseq_selection.h
index f25895adbdd..22bd97e6432 100644
--- a/libstdc++-v3/include/parallel/multiseq_selection.h
+++ b/libstdc++-v3/include/parallel/multiseq_selection.h
@@ -48,6 +48,10 @@
namespace __gnu_parallel
  {
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations" // *nary_function
+
    /** @brief Compare __a pair of types lexicographically, ascending. */
    template<typename _T1, typename _T2, typename _Compare>
      class _Lexicographic
@@ -100,6 +104,8 @@ namespace __gnu_parallel
        }
      };
+#pragma GCC diagnostic pop // -Wdeprecated-declarations
+
    /**
     *  @brief Splits several sorted sequences at a certain global __rank,
     *  resulting in a splitting point for each sequence.

base-commit: b752eed3e3f2f27570ea89b7c2339468698472a8

Reply via email to