https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91369

--- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Another question is whether:
constexpr int
bar ()
{
  auto a = static_cast<int *> (::operator new (sizeof (int)));
  *a = 1;
  *a = *a + 2;
  int r = *a;
  ::operator delete (a);
  return r;
}

constexpr auto p = bar ();

is valid or not (i.e. when there is no placement new at all, just static_cast
and dereferencing of the pointer.  Or if it is required to use
std::allocator<int>::allocate for that, and in that case, does one need to use
placement new or can it be dereferenced without it?

Reply via email to