Jonathan Wakely
f92a504fdd
libstdc++: Make allocators throw bad_array_new_length on overflow [LWG 3190]
...
std::allocator and std::pmr::polymorphic_allocator should throw
std::bad_array_new_length from their allocate member functions if the
number of bytes required cannot be represented in std::size_t.
libstdc++-v3/ChangeLog:
* config/abi/pre/gnu.ver: Add new symbol.
* include/bits/functexcept.h (__throw_bad_array_new_length):
Declare new function.
* include/ext/malloc_allocator.h (malloc_allocator::allocate):
Throw bad_array_new_length for impossible sizes (LWG 3190).
* include/ext/new_allocator.h (new_allocator::allocate):
Likewise.
* include/std/memory_resource (polymorphic_allocator::allocate)
(polymorphic_allocator::allocate_object): Use new function,
__throw_bad_array_new_length.
* src/c++11/functexcept.cc (__throw_bad_array_new_length):
Define.
* testsuite/20_util/allocator/lwg3190.cc: New test.
2020-10-05 15:18:56 +01:00
..
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-09-22 17:49:48 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-10-05 15:18:56 +01:00
2020-03-31 17:07:52 +03:00
2020-07-31 19:58:02 +01:00
2020-07-31 19:58:02 +01:00
2020-09-21 14:28:58 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-07-31 19:58:02 +01:00
2020-07-31 19:58:02 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-06-08 21:34:46 +01:00
2020-09-01 18:18:26 +01:00
2020-10-05 11:09:03 +01:00
2020-01-01 12:51:42 +01:00
2020-07-31 19:58:02 +01:00
2020-04-22 22:54:35 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-07-30 16:04:59 +01:00
2020-01-01 12:51:42 +01:00
2020-09-21 00:17:02 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-07-02 21:27:12 +01:00
2020-07-31 19:58:02 +01:00
2020-02-18 18:57:30 +00:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-09-24 18:51:37 +01:00
2020-01-01 12:51:42 +01:00
2020-07-31 17:51:00 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-06-16 08:21:33 -04:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-03-16 14:38:06 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-09-24 18:51:37 +01:00
2020-06-29 00:36:38 +03:00
2020-01-01 12:51:42 +01:00
2020-03-16 14:38:06 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-04-21 22:18:51 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-09-24 18:51:37 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-08-19 12:12:40 +01:00
2020-08-19 12:12:40 +01:00
2020-01-01 12:51:42 +01:00
2020-03-16 14:38:06 +01:00
2020-01-09 21:31:50 +00:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-07-31 19:58:02 +01:00
2020-08-19 12:12:40 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-07-31 19:58:02 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-09-10 15:41:53 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-07-31 19:58:02 +01:00
2020-01-01 12:51:42 +01:00
2020-07-31 19:58:02 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-02-19 15:34:08 +00:00
2020-01-01 12:51:42 +01:00
2020-07-31 19:58:02 +01:00
2020-01-01 12:51:42 +01:00
2020-07-31 19:58:02 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-08-23 23:18:48 -03:00
2020-07-31 19:58:03 +01:00
2020-01-01 12:51:42 +01:00
2020-05-04 13:37:31 +01:00
2020-01-01 12:51:42 +01:00
2020-08-25 10:23:59 -04:00
2020-07-31 17:51:00 +01:00
2020-04-22 22:54:34 +01:00
2020-06-24 12:28:13 +01:00
2020-09-22 08:42:18 +01:00
2020-01-01 12:51:42 +01:00
2020-04-15 19:47:47 +01:00
2020-01-01 12:51:42 +01:00
2020-07-31 19:58:02 +01:00
2020-09-10 15:42:09 +01:00
2020-02-19 15:28:54 +00:00
2020-07-31 19:58:02 +01:00
2020-09-02 13:56:32 +01:00
2020-07-31 19:58:02 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-01-01 12:51:42 +01:00
2020-07-31 17:51:00 +01:00