[libcxx-commits] [libcxx] [libc++][test] Fix and refactor exception tests for std::vector (PR #117641)
Peng Liu via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Nov 25 15:29:15 PST 2024
================
@@ -169,21 +89,24 @@ int main(int, char**) {
try { // Throw in vector(InputIterator, InputIterator, const allocator_type&) from input iterator
std::allocator<int> alloc;
- std::vector<int> vec(Iterator<std::input_iterator_tag>(), Iterator<std::input_iterator_tag>(2), alloc);
+ std::vector<int> vec(
+ throwing_iterator<int, std::input_iterator_tag>(), throwing_iterator<int, std::input_iterator_tag>(2), alloc);
} catch (int) {
}
check_new_delete_called();
try { // Throw in vector(InputIterator, InputIterator, const allocator_type&) from forward iterator
std::allocator<int> alloc;
- std::vector<int> vec(Iterator<std::forward_iterator_tag>(), Iterator<std::forward_iterator_tag>(2), alloc);
+ std::vector<int> vec(throwing_iterator<int, std::forward_iterator_tag>(),
+ throwing_iterator<int, std::forward_iterator_tag>(2),
+ alloc);
} catch (int) {
}
check_new_delete_called();
try { // Throw in vector(InputIterator, InputIterator, const allocator_type&) from allocator
int a[] = {1, 2};
- Allocator<int> alloc(false);
+ throwing_allocator<int> alloc(false, true); // throw on copy only
AllocVec vec(cpp17_input_iterator<int*>(a), cpp17_input_iterator<int*>(a + 2), alloc);
----------------
winner245 wrote:
This test did not throw.
https://github.com/llvm/llvm-project/pull/117641
More information about the libcxx-commits
mailing list