* include/bits/alloc_traits.h (allocator_traits::construct)
        (allocator_traits::destroy, allocator_traits::max_size): Add unused
        attributes to parameters that are not used in C++20.
        * include/std/bit (__ceil2): Add braces around assertion to avoid
        -Wmissing-braces warning.

Tested powerpc64le-linux, committed to trunk.


commit 6b497406d256373343b5e2237631d3cc4df713b7
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Mon Nov 18 11:48:35 2019 +0000

    libstdc++: Fix some -Wsystem-headers warnings
    
            * include/bits/alloc_traits.h (allocator_traits::construct)
            (allocator_traits::destroy, allocator_traits::max_size): Add unused
            attributes to parameters that are not used in C++20.
            * include/std/bit (__ceil2): Add braces around assertion to avoid
            -Wmissing-braces warning.

diff --git a/libstdc++-v3/include/bits/alloc_traits.h 
b/libstdc++-v3/include/bits/alloc_traits.h
index 55211ac1d72..142b23fe00f 100644
--- a/libstdc++-v3/include/bits/alloc_traits.h
+++ b/libstdc++-v3/include/bits/alloc_traits.h
@@ -499,8 +499,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       */
       template<typename _Up, typename... _Args>
        static _GLIBCXX20_CONSTEXPR void
-       construct(allocator_type& __a, _Up* __p, _Args&&... __args)
-       noexcept(noexcept(::new((void*)__p) 
_Up(std::forward<_Args>(__args)...)))
+       construct(allocator_type& __a __attribute__((__unused__)), _Up* __p,
+                 _Args&&... __args)
+       noexcept(noexcept(::new((void*)__p) _Up(std::declval<_Args>()...)))
        {
 #if __cplusplus <= 201703L
          __a.construct(__p, std::forward<_Args>(__args)...);
@@ -518,7 +519,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       */
       template<typename _Up>
        static _GLIBCXX20_CONSTEXPR void
-       destroy(allocator_type& __a, _Up* __p)
+       destroy(allocator_type& __a __attribute__((__unused__)), _Up* __p)
        noexcept(is_nothrow_destructible<_Up>::value)
        {
 #if __cplusplus <= 201703L
@@ -534,7 +535,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  @return @c __a.max_size()
       */
       static _GLIBCXX20_CONSTEXPR size_type
-      max_size(const allocator_type& __a) noexcept
+      max_size(const allocator_type& __a __attribute__((__unused__))) noexcept
       {
 #if __cplusplus <= 201703L
        return __a.max_size();
diff --git a/libstdc++-v3/include/std/bit b/libstdc++-v3/include/std/bit
index e89bca2c359..7b5253b104c 100644
--- a/libstdc++-v3/include/std/bit
+++ b/libstdc++-v3/include/std/bit
@@ -225,7 +225,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       // by UBSan, and by debug assertions.
 #ifdef _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED
       if (!__builtin_is_constant_evaluated())
-       __glibcxx_assert( __shift_exponent != numeric_limits<_Tp>::digits );
+       {
+         __glibcxx_assert( __shift_exponent != numeric_limits<_Tp>::digits );
+       }
 #endif
       using __promoted_type = decltype(__x << 1);
       if _GLIBCXX17_CONSTEXPR (!is_same<__promoted_type, _Tp>::value)

Reply via email to