diff options
| author | Mikhail Maltsev <mikhail.maltsev@arm.com> | 2021-10-21 10:40:05 +0100 |
|---|---|---|
| committer | Mikhail Maltsev <mikhail.maltsev@arm.com> | 2021-10-21 10:40:48 +0100 |
| commit | 05a2d1766864f60210d8f337a7ea709fa0707b53 (patch) | |
| tree | ddaae8c2e671f0463177f631d67d44758a8a83be /lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h | |
| parent | 49be23a1eb5743fa92a8367b6081674a8a392da3 (diff) | |
[libcxx] Throw correct exception from std::vector::reserve
According to the standard [vector.capacity]/5, std::vector<T>::reserve
shall throw an exception of type std::length_error when the requested
capacity exceeds max_size().
This behavior is not implemented correctly: the function 'reserve'
simply propagates the exception from allocator<T>::allocate. Before
D110846 that exception used to be of type std::length_error (which is
correct for vector<T>::reserve, but incorrect for
allocator<T>::allocate).
This patch fixes the issue and adds regression tests.
Reviewed By: Quuxplusone, ldionne, #libc
Differential Revision: https://reviews.llvm.org/D112068
Diffstat (limited to 'lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h')
0 files changed, 0 insertions, 0 deletions
