https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117259
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Slightly simplified testcase (still -fsanitize=undefined -Wuninitialized): struct A { void foo () {} }; struct B { void (A::*b) (); B (void (A::*x) ()) : b(x) {}; }; const B c[1] = { { &A::foo } }; void foo (A *x, int y) { (x->*c[y].b) (); }