(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
cpp2a/
constexpr-new9.C
// 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 ());