libstdc++: Fix some -Wsystem-headers warnings
diff mbox series

Message ID 20191118122839.GA13259@redhat.com
State New
Headers show
Series
  • libstdc++: Fix some -Wsystem-headers warnings
Related show

Commit Message

Jonathan Wakely Nov. 18, 2019, 12:28 p.m. UTC
* 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 <jwakely@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.

Patch
diff mbox series

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)