From 55cef40b8a24dd3fb132a0d8010452267775d2b8 Mon Sep 17 00:00:00 2001 From: Brian Neradt Date: Tue, 4 Oct 2022 11:25:47 -0500 Subject: [PATCH] Revert "Fix warnings from GCC 12.0.1 (#8684)" This reverts commit 0ae34d4d1699d978f6938027efb2ecb9ae05c89a. --- example/plugins/cpp-api/boom/boom.cc | 5 +---- include/tscore/IntrusivePtr.h | 6 +----- include/tscpp/api/Headers.h | 10 ++-------- iocore/net/quic/QUICFrame.h | 5 +---- lib/swoc/include/swoc/DiscreteRange.h | 6 +----- src/tscore/HostLookup.cc | 6 +----- src/wccp/WccpMeta.h | 6 +----- 7 files changed, 8 insertions(+), 36 deletions(-) diff --git a/example/plugins/cpp-api/boom/boom.cc b/example/plugins/cpp-api/boom/boom.cc index 7a3a3234d66..a312e7f2043 100644 --- a/example/plugins/cpp-api/boom/boom.cc +++ b/example/plugins/cpp-api/boom/boom.cc @@ -98,16 +98,13 @@ GlobalPlugin *plugin; // Functor that decides whether the HTTP error can be rewritten or not. // Rewritable codes are: 2xx, 3xx, 4xx, 5xx and 6xx. // 1xx is NOT rewritable! -class IsRewritableCode +class IsRewritableCode : public std::unary_function { // could probably be replaced with mem_ptr_fun().. private: int current_code_; std::string current_code_string_; public: - using argument_type = std::string; - using result_type = bool; - explicit IsRewritableCode(int current_code) : current_code_(current_code) { std::ostringstream oss; diff --git a/include/tscore/IntrusivePtr.h b/include/tscore/IntrusivePtr.h index 70cc671e394..bfe63a3aee0 100644 --- a/include/tscore/IntrusivePtr.h +++ b/include/tscore/IntrusivePtr.h @@ -330,13 +330,9 @@ template class IntrusivePtrDefaultPolicy static void finalize(T *t); /// Strict weak order for STL containers. - class Order + class Order : public std::binary_function, IntrusivePtr, bool> { public: - using first_argument_type = IntrusivePtr; - using second_argument_type = IntrusivePtr; - using result_type = bool; - /// Default constructor. Order() {} /// Compare by raw pointer. diff --git a/include/tscpp/api/Headers.h b/include/tscpp/api/Headers.h index ffaffde81b5..9e6daea8ef4 100644 --- a/include/tscpp/api/Headers.h +++ b/include/tscpp/api/Headers.h @@ -109,15 +109,12 @@ class HeaderField; /** * @brief A header field value iterator iterates through all header fields. */ -class header_field_value_iterator +class header_field_value_iterator : public std::iterator { private: HeaderFieldValueIteratorState *state_; public: - using iterator_category = std::forward_iterator_tag; - using value_type = int; - /** * Constructor for header_field_value_iterator, this shouldn't need to be used directly. * @param bufp the TSMBuffer associated with the headers @@ -172,16 +169,13 @@ class header_field_value_iterator /** * @brief A header field iterator is an iterator that dereferences to a HeaderField. */ -class header_field_iterator +class header_field_iterator : public std::iterator { private: HeaderFieldIteratorState *state_; header_field_iterator(void *hdr_buf, void *hdr_loc, void *field_loc); public: - using iterator_category = std::forward_iterator_tag; - using value_type = int; - ~header_field_iterator(); /** diff --git a/iocore/net/quic/QUICFrame.h b/iocore/net/quic/QUICFrame.h index 0eda989e6a5..9530c7eace3 100644 --- a/iocore/net/quic/QUICFrame.h +++ b/iocore/net/quic/QUICFrame.h @@ -204,12 +204,9 @@ class QUICAckFrame : public QUICFrame class AckBlockSection { public: - class const_iterator + class const_iterator : public std::iterator { public: - using iterator_category = std::input_iterator_tag; - using value_type = QUICAckFrame::AckBlock; - const_iterator(uint8_t index, const std::vector *ack_blocks); const QUICAckFrame::AckBlock & diff --git a/lib/swoc/include/swoc/DiscreteRange.h b/lib/swoc/include/swoc/DiscreteRange.h index 503911cacab..dd130d86068 100644 --- a/lib/swoc/include/swoc/DiscreteRange.h +++ b/lib/swoc/include/swoc/DiscreteRange.h @@ -319,11 +319,7 @@ template class DiscreteRange { The first pair of elements that are not equal determine the ordering of the overall tuples. */ - struct lexicographic_order { - using first_argument_type = self_type; - using second_argument_type = self_type; - using result_type = bool; - + struct lexicographic_order : public std::binary_function { //! Functor operator. bool operator()(self_type const &lhs, self_type const &rhs) const; }; diff --git a/src/tscore/HostLookup.cc b/src/tscore/HostLookup.cc index 440474e9456..b695e0f47d1 100644 --- a/src/tscore/HostLookup.cc +++ b/src/tscore/HostLookup.cc @@ -231,11 +231,7 @@ struct CharIndexBlock { class CharIndex { public: - struct iterator { - using iterator_category = std::forward_iterator_tag; - using value_type = HostBranch; - using difference_type = int; - + struct iterator : public std::iterator { using self_type = iterator; struct State { diff --git a/src/wccp/WccpMeta.h b/src/wccp/WccpMeta.h index 11a9b09cf44..464e8bafcea 100644 --- a/src/wccp/WccpMeta.h +++ b/src/wccp/WccpMeta.h @@ -54,11 +54,7 @@ template struct TEST_IF_TRUE : public TEST_RESULT> }; // Helper for assigning a value to all instances in a container. -template struct TsAssignMember { - using first_argument_type = T; - using second_argument_type = A1; - using result_type = R; - +template struct TsAssignMember : public std::binary_function { R T::*_m; A1 _arg1; TsAssignMember(R T::*m, A1 const &arg1) : _m(m), _arg1(arg1) {}