* 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 <[email protected]>
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)