// PR c++/91369 | |
// { dg-do compile { target c++20 } } | |
// { dg-additional-options "-fdelete-null-pointer-checks" } | |
struct S { | |
constexpr S (int *i) : i{i} {} | |
constexpr ~S () { delete[] i; } | |
int *i; | |
}; | |
constexpr S foo (int x) { return { new int[x] () }; } | |
constexpr bool bar () { foo (1); return true; } | |
constexpr bool baz () { foo (1); return false; } | |
static_assert (bar ()); | |
static_assert (!baz ()); |