https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61163
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- GCC, ICC and clang all produce the same (or similar) result: clang: A::A(int) 0 static void *B::operator new(decltype(sizeof (0)), A) 1 static void B::operator delete(void *, A) A::~A() GCC and ICC: A::A(int) 0 static void* B::operator new(long unsigned int, A) 1 static void B::operator delete(void*, A) A::~A()