// PR c++/101515 // { dg-do compile } // { dg-options "-O1 -Wuninitialized" } struct S { int j; }; struct T : public S { virtual void h () {} }; struct U { void (*ptr) (); }; typedef void (S::*sp) (); int main () { T t; sp x; U *xp = (U *) &x; if (xp->ptr != ((void (*) ()) (sizeof (void *)))) // { dg-warning "is used uninitialized" } return 1; }