libstdc++: Add nodiscard to polymorphic_allocator members (LWG 3304)

* include/std/memory_resource (polymorphic_allocator::allocate_bytes)
	(polymorphic_allocator::allocate_object)
	(polymorphic_allocator::new_object): Add nodiscard attribute (LWG3304).
This commit is contained in:
Jonathan Wakely 2020-02-19 12:04:53 +00:00
parent 15411a6453
commit 020a03eec7
2 changed files with 7 additions and 3 deletions

View File

@ -1,5 +1,9 @@
2020-02-19 Jonathan Wakely <jwakely@redhat.com>
* include/std/memory_resource (polymorphic_allocator::allocate_bytes)
(polymorphic_allocator::allocate_object)
(polymorphic_allocator::new_object): Add nodiscard attribute (LWG3304).
LWG 3379. "safe" in several library names is misleading
* include/bits/range_access.h (enable_safe_range): Rename to
enable_borrowed_range.

View File

@ -178,7 +178,7 @@ namespace pmr
{ _M_resource->deallocate(__p, __n * sizeof(_Tp), alignof(_Tp)); }
#if __cplusplus > 201703L
void*
[[nodiscard]] void*
allocate_bytes(size_t __nbytes,
size_t __alignment = alignof(max_align_t))
{ return _M_resource->allocate(__nbytes, __alignment); }
@ -189,7 +189,7 @@ namespace pmr
{ _M_resource->deallocate(__p, __nbytes, __alignment); }
template<typename _Up>
_Up*
[[nodiscard]] _Up*
allocate_object(size_t __n = 1)
{
if ((__detail::__int_limits<size_t>::max() / sizeof(_Up)) < __n)
@ -204,7 +204,7 @@ namespace pmr
{ deallocate_bytes(__p, __n * sizeof(_Up), alignof(_Up)); }
template<typename _Up, typename... _CtorArgs>
_Up*
[[nodiscard]] _Up*
new_object(_CtorArgs&&... __ctor_args)
{
_Up* __p = allocate_object<_Up>();