/* { dg-require-named-sections "" } */ /* { dg-do compile } */ /* { dg-options "-O2 -fno-reorder-blocks-and-partition -ffunction-sections" } */ class base_class_1 { public: virtual void vfn () {} }; class base_class_2 { public: virtual void vfn () {} }; class need_thunk_class : public base_class_1, public base_class_2 { public: virtual void vfn () {} }; int main (int argc, char *argv[]) { base_class_1 *c = new need_thunk_class (); c->vfn(); return 0; } /* { dg-final { scan-assembler "\.text\._ZThn\[4|8\]_N16need_thunk_class3vfnEv" } } */