Boost logo

Boost :

Subject: Re: [boost] [Operators] empty_base should be untemplated?
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2013-09-21 17:41:09


On 20 Sep 2013 at 23:00, Michael Marcin wrote:

> > VS2012 doesn't appear to do empty base class optimization for multiple
> > inheritance at all, so templated/untemplated also makes no difference here.

I believe the /vmm compiler flag will fix that
(http://msdn.microsoft.com/en-us/library/bkb78zf3.aspx) at the cost
of breaking ABI. In essence, due to backwards ABI compat constraints
requiring the default /vmv option, MSVC can only collapse a single
empty base class, not more than one.

In other words, it's a feature not a bug :)

I absolutely agree though that when they moved to 64 bit they should
have fixed this. They fixed lots of long standing ABI problems with
the 64 bit move, but I believe not this one sadly.

Niall

-- 
Currently unemployed and looking for work.
Work Portfolio: http://careers.stackoverflow.com/nialldouglas/



Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk