From: Jonathan Wakely Date: Tue, 8 Aug 2023 21:07:29 +0000 (+0100) Subject: libstdc++: Fix some -Wmismatched-tags warnings X-Git-Tag: releases/gcc-12.4.0~332 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fe1c4d6cce6a35c0800f26d87c411a34cb9472bb;p=thirdparty%2Fgcc.git libstdc++: Fix some -Wmismatched-tags warnings libstdc++-v3/ChangeLog: * include/bits/shared_ptr_atomic.h (atomic): Change class-head to struct. * include/bits/stl_tree.h (_Rb_tree_merge_helper): Change class-head to struct in friend declaration. * include/std/future (_Task_state_base, _Task_state): Likewise. * include/std/scoped_allocator (__inner_type_impl): Likewise. * include/std/valarray (_BinClos, _SClos, _GClos, _IClos) (_ValFunClos, _RefFunClos): Change class-head to struct. (cherry picked from commit 5b46eacc4949ec62ee718b172cf8eb056ff27654) --- diff --git a/libstdc++-v3/include/bits/shared_ptr_atomic.h b/libstdc++-v3/include/bits/shared_ptr_atomic.h index 94570cd3ab3c..e903fe89424d 100644 --- a/libstdc++-v3/include/bits/shared_ptr_atomic.h +++ b/libstdc++-v3/include/bits/shared_ptr_atomic.h @@ -356,7 +356,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #if __cplusplus >= 202002L # define __cpp_lib_atomic_shared_ptr 201711L template - class atomic; + struct atomic; template static constexpr bool __is_shared_ptr = false; @@ -368,7 +368,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { using value_type = _Tp; - friend class atomic<_Tp>; + friend struct atomic<_Tp>; // An atomic version of __shared_count<> and __weak_count<>. // Stores a _Sp_counted_base<>* but uses the LSB as a lock. @@ -602,7 +602,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION }; template - class atomic> + struct atomic> { public: using value_type = shared_ptr<_Tp>; @@ -725,7 +725,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION }; template - class atomic> + struct atomic> { public: using value_type = weak_ptr<_Tp>; diff --git a/libstdc++-v3/include/bits/stl_tree.h b/libstdc++-v3/include/bits/stl_tree.h index 7a352c17b225..6ced03252bc2 100644 --- a/libstdc++-v3/include/bits/stl_tree.h +++ b/libstdc++-v3/include/bits/stl_tree.h @@ -1555,7 +1555,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION = _Rb_tree<_Key, _Val, _KeyOfValue, _Compare2, _Alloc>; template - friend class _Rb_tree_merge_helper; + friend struct _Rb_tree_merge_helper; /// Merge from a compatible container into one with unique keys. template diff --git a/libstdc++-v3/include/std/future b/libstdc++-v3/include/std/future index a1b2d7f1d3af..f1fa16c86490 100644 --- a/libstdc++-v3/include/std/future +++ b/libstdc++-v3/include/std/future @@ -623,10 +623,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION class _Async_state_impl; template - class _Task_state_base; + struct _Task_state_base; template - class _Task_state; + struct _Task_state; template diff --git a/libstdc++-v3/include/std/scoped_allocator b/libstdc++-v3/include/std/scoped_allocator index f2e3ed9f7833..8ad4c90b694d 100644 --- a/libstdc++-v3/include/std/scoped_allocator +++ b/libstdc++-v3/include/std/scoped_allocator @@ -165,7 +165,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return _M_inner == __other._M_inner; } private: - template friend class __inner_type_impl; + template friend struct __inner_type_impl; template friend class scoped_allocator_adaptor; __type _M_inner; @@ -187,7 +187,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION friend class scoped_allocator_adaptor; template - friend class __inner_type_impl; + friend struct __inner_type_impl; tuple _M_tie() const noexcept diff --git a/libstdc++-v3/include/std/valarray b/libstdc++-v3/include/std/valarray index 6f800d1b367e..32e6e7e8a76b 100644 --- a/libstdc++-v3/include/std/valarray +++ b/libstdc++-v3/include/std/valarray @@ -60,22 +60,22 @@ namespace __detail template class _Meta1, template class _Meta2, class _Dom1, class _Dom2> - class _BinClos; + struct _BinClos; template class _Meta, class _Dom> - class _SClos; + struct _SClos; template class _Meta, class _Dom> - class _GClos; + struct _GClos; template class _Meta, class _Dom> - class _IClos; + struct _IClos; template class _Meta, class _Dom> - class _ValFunClos; + struct _ValFunClos; template class _Meta, class _Dom> - class _RefFunClos; + struct _RefFunClos; } // namespace __detail using __detail::_UnClos;