https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69953
--- Comment #10 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- markus@x4 tmp % cat foo.ii namespace Glib { class ObjectBase { protected: virtual ~ObjectBase(); }; class A : virtual public ObjectBase {}; class B : virtual public ObjectBase {}; } namespace Gtk { class C : Glib::A {}; class D : public Glib::B {}; class TreeViewColumn : C, D { ~TreeViewColumn(); }; TreeViewColumn::~TreeViewColumn() {} } markus@x4 tmp % g++ -Os -flto -fPIC -shared -nostdlib -std=c++11 foo.ii && nm ./a.out | grep "_ZTVN3Gtk14TreeViewColumnE" 00000000000026a8 d _ZTVN3Gtk14TreeViewColumnE markus@x4 tmp % g++ -Os -fPIC -shared -nostdlib -std=c++11 foo.ii && nm ./a.out | grep "_ZTVN3Gtk14TreeViewColumnE" 00000000000025c8 V _ZTVN3Gtk14TreeViewColumnE markus@x4 tmp % g++ -O2 -fPIC -shared -nostdlib -std=c++11 foo.ii && nm ./a.out | grep "_ZTVN3Gtk14TreeViewColumnE" 00000000000013a8 V _ZTVN3Gtk14TreeViewColumnE markus@x4 tmp % clang++ -O2 -fPIC -shared -nostdlib -std=c++11 foo.ii && nm ./a.out | grep "_ZTVN3Gtk14TreeViewColumnE" 0000000000002900 D _ZTVN3Gtk14TreeViewColumnE markus@x4 tmp % clang++ -flto -O2 -fPIC -shared -nostdlib -std=c++11 foo.ii && nm ./a.out | grep "_ZTVN3Gtk14TreeViewColumnE" 0000000000002450 D _ZTVN3Gtk14TreeViewColumnE