diff options
| author | Mikhail Maltsev <mikhail.maltsev@arm.com> | 2021-10-18 19:12:42 +0100 | 
|---|---|---|
| committer | Mikhail Maltsev <mikhail.maltsev@arm.com> | 2021-10-18 19:12:42 +0100 | 
| commit | be10b1f1cc5fc621c378da97810ffc13b2a9af71 (patch) | |
| tree | aa719427b00aa01f38975b56297ac79f681c8ed7 /lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h | |
| parent | 5b949a649aff0406a878e8eb8d7d5efba0a55e4a (diff) | |
| download | llvm-be10b1f1cc5fc621c378da97810ffc13b2a9af71.zip llvm-be10b1f1cc5fc621c378da97810ffc13b2a9af71.tar.gz llvm-be10b1f1cc5fc621c378da97810ffc13b2a9af71.tar.bz2 | |
[libcxx] Make allocator<T>:allocate throw bad_array_new_length
Currently the member functions std::allocator<T>::allocate,
std::experimental::pmr::polymorphic_allocator::allocate and
std::resource_adaptor<T>::do_allocate throw an exception of type
std::length_error when the requested size exceeds the maximum size.
According to the C++ standard ([allocator.members]/4,
[mem.poly.allocator.mem]/1), std::allocator<T>::allocate and
std::pmr::polymorphic_allocator::allocate must throw a
std::bad_array_new_length exception in this case.
The patch fixes the issue with std::allocator<T>::allocate and changes
the type the exception thrown by
std::experimental::pmr::resource_adaptor<T>::do_allocate to
std::bad_array_new_length as well for consistency.
The patch resolves LWG 3237, LWG 3038 and LWG 3190.
Reviewed By: ldionne, #libc, Quuxplusone
Differential Revision: https://reviews.llvm.org/D110846
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h')
0 files changed, 0 insertions, 0 deletions
