// { dg-do run } struct A { virtual void f() { } }; struct B { virtual void g() { } }; struct C : public A, public B { }; int main () { C* cp = 0; B* bp = 0; if (dynamic_cast (cp) != 0) return 1; if (dynamic_cast (bp) != 0) return 1; if (dynamic_cast (bp) != 0) return 1; }