// { dg-do run } // GROUPS passed virtual-tables // Check that virtual function tables are generated and used // even for struct's/classes which have no explicit constructors. extern "C" int printf (const char *, ...); int base_func_member_1_called = 0; int derived_func_member_1_called = 0; struct base { virtual void func_member_1 () { base_func_member_1_called++; } }; struct derived : public base { virtual void func_member_1 () { derived_func_member_1_called++; } virtual void func_member_2 () { } }; base* bp1; base* bp2; int main () { bp1 = new base; bp2 = new derived; bp1->func_member_1 (); bp2->func_member_1 (); printf ("PASS\n"); return 0; }