// { dg-do compile { target c++14 } } // { dg-additional-options "-fdelete-null-pointer-checks" } constexpr int *f4(bool b) { if (b) { return nullptr; } else { return new int{42}; // { dg-error "call to non-.constexpr." "" { target c++17_down } } } // { dg-error "is not a constant expression because allocated storage has not been deallocated" "" { target c++2a } .-1 } } static_assert(f4(true) == nullptr, ""); static_assert(f4(false) == nullptr, ""); // { dg-error "non-.constant. condition|" }