2 // Copyright (C) 2000 Free Software Foundation, Inc.
3 // Contributed by Nathan Sidwell 19 Jan 2001 <nathan@codesourcery.com>
5 // Bug 1701. building a vbase path was not using the shortest number of
6 // vbases. Normally that's just a pessimization, unfortunately during
7 // constructoring it leads to uninitialized reads.
9 extern "C" int printf (const char*,...);
27 printf ("Base (%u) ctor %x\n", sizeof (Base), this);
35 /*{{{ Base::~Base ()*/
38 printf ("Base dtor %x\n", this);
41 else if (this != addr)
48 /*{{{ struct M10 : virtual Base*/
49 struct M10 : virtual Base
62 printf ("M10 (%u) ctor %x\n", sizeof (M10), this);
73 printf ("M10 dtor %x\n", this);
76 else if (this != addr)
83 /*{{{ struct M4 : virtual Base, virtual M10*/
84 struct M4 : virtual Base, virtual M10
97 printf ("M4 (%u) ctor %x\n", sizeof (M4), this);
108 printf ("M4 dtor %x\n", this);
111 else if (this != addr)
118 /*{{{ struct M5 : M4*/
132 printf ("M5 (%u) ctor %x\n", sizeof (M5), this);
143 printf ("M5 dtor %x\n", this);
146 else if (this != addr)
153 /*{{{ struct M9 : M5, virtual M10*/
154 struct M9 : M5, virtual M10
167 printf ("M9 (%u), ctor %x\n", sizeof (M9), this);
178 printf ("M9 dtor %x\n", this);
181 else if (this != addr)
197 void *top = dynamic_cast <void *> (r);