"David B. Held" <[EMAIL PROTECTED]> wrote in message
b1m57m$702$[EMAIL PROTECTED]">news:b1m57m$702$[EMAIL PROTECTED]...
> > > [...]
> > > I mean, the optimally_inherit eliminates the empty bases, and
> > > yet there is size bloat.  So VC++ makes the class bigger for
> > > some other reason than that it has empty bases.  I will try to
> > > write some tests to see why that is, or at least how.
> >
> > I repeat, I bet it's MI-related.
>
> The proof of the pudding is in the eating.

I got a chance to taste the pudding, the the results are inconclusive.
The cause of the size bloat was that I had changed ref_counted to
inherit from noncopyable.  Seems like an innocent enough change.
Seems that for the single-inheritance case, we should see some
EBO action, right?  Well, we do, unless ref_counted is a base in
an MI hierarchy.  Why its place in an hierarchy should change its
size is a mystery to me, but taking out noncopyable restores that
magical size.  Now, I would appreciate it if people with Intel, CW,
and some other compilers would try out the code in the sandbox
and see if the first test passes (turn on --log-level=all, and pipe the
output to your favorite paginator).

Dave




_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to