+2019-11-18 Jonathan Wakely <jwakely@redhat.com>
+
+ * 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.
+
2019-11-16 Edward Smith-Rowland <3dw4rd@verizon.net>
Repair the <tuple> part of C++20 p1032 Misc constexpr bits.
*/
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)...);
*/
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
* @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();
// 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)