https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98798
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2021-01-25 Status|UNCONFIRMED |ASSIGNED Ever confirmed|0 |1 Assignee|unassigned at gcc dot gnu.org |marxin at gcc dot gnu.org CC| |marxin at gcc dot gnu.org --- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> --- Confirmed, reduced test-case: $ cat pr98798.C #include <iostream> #include <memory> class alignas(32) Foo { public : char x; void * operator new[ ] (size_t s, std::align_val_t a) { __builtin_printf ("s: %d, a: %d\n", s, a); return aligned_alloc(static_cast<size_t>(a), s); } void operator delete[ ] (void *p, size_t s, std::align_val_t a) { } }; int main() { auto p = std::make_unique<Foo[]>(3); } I'm going to take a look.