From: Jonathan Wakely Date: Mon, 6 Jul 2020 15:19:23 +0000 (+0100) Subject: libstdc++: Fix -Wmismatched-tags warnings (PR 96063) X-Git-Tag: basepoints/gcc-12~6404 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0e5abeb0cb06f9798a559e1238839c5d6581657e;p=thirdparty%2Fgcc.git libstdc++: Fix -Wmismatched-tags warnings (PR 96063) libstdc++-v3/ChangeLog: * include/bits/fs_dir.h: Use consistent tag in class-head. * include/bits/localefwd.h: Likwise. * include/bits/regex.h: Likwise. * include/bits/stl_map.h: Likwise. * include/bits/stl_multimap.h: Likwise. * include/bits/stl_multiset.h: Likwise. * include/bits/stl_set.h: Likwise. * include/std/complex: Likwise. * include/std/functional: Likwise. * include/std/future: Likwise. * include/std/system_error: Likwise. * include/std/thread: Likwise. * include/std/tuple: Likwise. * include/std/type_traits: Likwise. * include/std/valarray: Likwise. --- diff --git a/libstdc++-v3/include/bits/fs_dir.h b/libstdc++-v3/include/bits/fs_dir.h index 686dfce6e5fd..264fa783bbb4 100644 --- a/libstdc++-v3/include/bits/fs_dir.h +++ b/libstdc++-v3/include/bits/fs_dir.h @@ -312,7 +312,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 #endif private: - friend class _Dir; + friend struct _Dir; friend class directory_iterator; friend class recursive_directory_iterator; diff --git a/libstdc++-v3/include/bits/localefwd.h b/libstdc++-v3/include/bits/localefwd.h index 8fecc0b6525e..824b07b64765 100644 --- a/libstdc++-v3/include/bits/localefwd.h +++ b/libstdc++-v3/include/bits/localefwd.h @@ -122,7 +122,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION tolower(_CharT, const locale&); // 22.2.1 and 22.2.1.3 ctype - class ctype_base; + struct ctype_base; template class ctype; template<> class ctype; @@ -200,7 +200,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 _GLIBCXX_END_NAMESPACE_CXX11 // 22.2.7 message retrieval - class messages_base; + struct messages_base; _GLIBCXX_BEGIN_NAMESPACE_CXX11 template class messages; diff --git a/libstdc++-v3/include/bits/regex.h b/libstdc++-v3/include/bits/regex.h index 4032fd7559b6..31ebcc1eb861 100644 --- a/libstdc++-v3/include/bits/regex.h +++ b/libstdc++-v3/include/bits/regex.h @@ -77,12 +77,13 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 * satisfies the requirements of such a traits class. */ template - struct regex_traits + class regex_traits { public: typedef _Ch_type char_type; typedef std::basic_string string_type; typedef std::locale locale_type; + private: struct _RegexMask { diff --git a/libstdc++-v3/include/bits/stl_map.h b/libstdc++-v3/include/bits/stl_map.h index 2772d11462e1..7120f9bcfc81 100644 --- a/libstdc++-v3/include/bits/stl_map.h +++ b/libstdc++-v3/include/bits/stl_map.h @@ -635,7 +635,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER { return _M_t._M_reinsert_node_hint_unique(__hint, std::move(__nh)); } template - friend class std::_Rb_tree_merge_helper; + friend struct std::_Rb_tree_merge_helper; template void diff --git a/libstdc++-v3/include/bits/stl_multimap.h b/libstdc++-v3/include/bits/stl_multimap.h index 65f4d0117a42..2791a3c6b3cd 100644 --- a/libstdc++-v3/include/bits/stl_multimap.h +++ b/libstdc++-v3/include/bits/stl_multimap.h @@ -651,7 +651,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER { return _M_t._M_reinsert_node_hint_equal(__hint, std::move(__nh)); } template - friend class std::_Rb_tree_merge_helper; + friend struct std::_Rb_tree_merge_helper; template void diff --git a/libstdc++-v3/include/bits/stl_multiset.h b/libstdc++-v3/include/bits/stl_multiset.h index bf6ae7de095f..34ba7364f15e 100644 --- a/libstdc++-v3/include/bits/stl_multiset.h +++ b/libstdc++-v3/include/bits/stl_multiset.h @@ -589,7 +589,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER { return _M_t._M_reinsert_node_hint_equal(__hint, std::move(__nh)); } template - friend class std::_Rb_tree_merge_helper; + friend struct std::_Rb_tree_merge_helper; template void diff --git a/libstdc++-v3/include/bits/stl_set.h b/libstdc++-v3/include/bits/stl_set.h index da426650815a..c8631279c1fc 100644 --- a/libstdc++-v3/include/bits/stl_set.h +++ b/libstdc++-v3/include/bits/stl_set.h @@ -604,7 +604,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER { return _M_t._M_reinsert_node_hint_unique(__hint, std::move(__nh)); } template - friend class std::_Rb_tree_merge_helper; + friend struct std::_Rb_tree_merge_helper; template void diff --git a/libstdc++-v3/include/std/complex b/libstdc++-v3/include/std/complex index f2917b8c3686..db147f47b133 100644 --- a/libstdc++-v3/include/std/complex +++ b/libstdc++-v3/include/std/complex @@ -124,8 +124,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * @param Tp Type of real and imaginary values. */ template - struct complex + class complex { + public: /// Value typedef. typedef _Tp value_type; @@ -1079,8 +1080,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION /// 26.2.3 complex specializations /// complex specialization template<> - struct complex + class complex { + public: typedef float value_type; typedef __complex__ float _ComplexT; @@ -1224,8 +1226,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION /// 26.2.3 complex specializations /// complex specialization template<> - struct complex + class complex { + public: typedef double value_type; typedef __complex__ double _ComplexT; @@ -1369,8 +1372,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION /// 26.2.3 complex specializations /// complex specialization template<> - struct complex + class complex { + public: typedef long double value_type; typedef __complex__ long double _ComplexT; diff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional index 2a9b2a003dbb..124bdadd4c71 100644 --- a/libstdc++-v3/include/std/functional +++ b/libstdc++-v3/include/std/functional @@ -395,7 +395,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION /// Type of the function object returned from bind(). template - struct _Bind; + class _Bind; template class _Bind<_Functor(_Bound_args...)> @@ -546,7 +546,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION /// Type of the function object returned from bind(). template - struct _Bind_result; + class _Bind_result; template class _Bind_result<_Result, _Functor(_Bound_args...)> diff --git a/libstdc++-v3/include/std/future b/libstdc++-v3/include/std/future index 97506a27e37c..6eef6864f4dd 100644 --- a/libstdc++-v3/include/std/future +++ b/libstdc++-v3/include/std/future @@ -1048,7 +1048,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION typedef __future_base::_State_base _State; typedef __future_base::_Result<_Res> _Res_type; typedef __future_base::_Ptr<_Res_type> _Ptr_type; - template friend class _State::_Setter; + template friend struct _State::_Setter; friend _State; shared_ptr<_State> _M_future; @@ -1159,7 +1159,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION typedef __future_base::_State_base _State; typedef __future_base::_Result<_Res&> _Res_type; typedef __future_base::_Ptr<_Res_type> _Ptr_type; - template friend class _State::_Setter; + template friend struct _State::_Setter; friend _State; shared_ptr<_State> _M_future; @@ -1249,7 +1249,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION typedef __future_base::_State_base _State; typedef __future_base::_Result _Res_type; typedef __future_base::_Ptr<_Res_type> _Ptr_type; - template friend class _State::_Setter; + template friend struct _State::_Setter; friend _State; shared_ptr<_State> _M_future; diff --git a/libstdc++-v3/include/std/system_error b/libstdc++-v3/include/std/system_error index f92b4345895a..864b73e25abf 100644 --- a/libstdc++-v3/include/std/system_error +++ b/libstdc++-v3/include/std/system_error @@ -177,8 +177,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * library might be represented by an HTTP response status code (e.g. 404) * and a custom category defined by the library. */ - struct error_code + class error_code { + public: error_code() noexcept : _M_value(0), _M_cat(&system_category()) { } @@ -275,8 +276,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * An `error_condition` represents something that the program can test for, * and subsequently take appropriate action. */ - struct error_condition + class error_condition { + public: error_condition() noexcept : _M_value(0), _M_cat(&generic_category()) { } diff --git a/libstdc++-v3/include/std/thread b/libstdc++-v3/include/std/thread index e1bba0cb29b3..0445ab1e319e 100644 --- a/libstdc++-v3/include/std/thread +++ b/libstdc++-v3/include/std/thread @@ -97,7 +97,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION private: friend class thread; - friend class hash; + friend struct hash; friend bool operator==(id __x, id __y) noexcept; diff --git a/libstdc++-v3/include/std/tuple b/libstdc++-v3/include/std/tuple index 726ad0aabbb5..0dc11768a90f 100644 --- a/libstdc++-v3/include/std/tuple +++ b/libstdc++-v3/include/std/tuple @@ -192,7 +192,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION : public _Tuple_impl<_Idx + 1, _Tail...>, private _Head_base<_Idx, _Head> { - template friend class _Tuple_impl; + template friend struct _Tuple_impl; typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited; typedef _Head_base<_Idx, _Head> _Base; @@ -341,7 +341,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct _Tuple_impl<_Idx, _Head> : private _Head_base<_Idx, _Head> { - template friend class _Tuple_impl; + template friend struct _Tuple_impl; typedef _Head_base<_Idx, _Head> _Base; diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits index 9cd3a2df41a8..426febccdf95 100644 --- a/libstdc++-v3/include/std/type_traits +++ b/libstdc++-v3/include/std/type_traits @@ -2343,7 +2343,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION /// result_of template - class result_of; + struct result_of; // Sfinae-friendly result_of implementation: diff --git a/libstdc++-v3/include/std/valarray b/libstdc++-v3/include/std/valarray index be2e70dc06ad..9981b609aaba 100644 --- a/libstdc++-v3/include/std/valarray +++ b/libstdc++-v3/include/std/valarray @@ -571,7 +571,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION size_t _M_size; _Tp* __restrict__ _M_data; - friend class _Array<_Tp>; + friend struct _Array<_Tp>; }; #if __cpp_deduction_guides >= 201606