https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71388
--- Comment #2 from David Abdurachmanov <david.abdurachmanov at gmail dot com> --- Doesn't std::memset apply here? They allocate storage, set it to 0x0 and then place construct the object. At first look I wouldn't expect GCC to remove std::memset.