// { dg-options "-std=gnu++20" } | |
// { dg-do compile { target c++20 } } | |
// { dg-require-effective-target hosted } | |
// PR libstdc++/105957 | |
#include <memory> | |
consteval bool test_pr105957() | |
{ | |
std::allocator<long long> a; | |
auto n = std::size_t(-1) / (sizeof(long long) - 1); | |
auto p = a.allocate(n); // { dg-error "constexpr" } | |
a.deallocate(p, n); | |
return true; | |
} | |
static_assert( test_pr105957() ); | |
// { dg-error "throw_bad_array_new_length" "" { target *-*-* } 0 } |