https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92384
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- Reduced: class Empty {}; bool is_same(Empty a, Empty b) { __builtin_printf("%p\n%p\n", &a, &b); void* v[] = { &a, &b }; return v[0] == v[1]; } int main() { Empty a, b; if (is_same(a, b)) __builtin_abort(); } 0x7ffc7b54ad20 0x7ffc7b54ad20 Aborted (core dumped)