|
Boost : |
From: Pavel Vozenilek (pavel_vozenilek_at_[hidden])
Date: 2004-01-03 00:06:05
"David Abrahams" <dave_at_[hidden]> wrote
> > --------------
> > class noncopyable
> > {
> > #if (defined __BORLANDC__) && (__BORLANDC__ <= 0x564)
> > char dummy; // BCB would use 8 bytes by default
> > #endif
> > protected:
> > ....
> > --------------
>
> Should we be checking the version at all?
>
All versions of BCB till 6 have this 'feature'. The new, EDG
based compiler may behave differently.
> Should we also be checking to make sure that it's
> a Win32-targeted compiler?
>
The Kylix C++ compiler is not used by many people and Borland
doesn't develop it any more.
Kylix is identified by __BORLANDC__ == 0x570 so this fix won't
apply (maybe it should but I do not have Kylix here).
> What about, e.g. MSVC? Isn't Borland's ABI MSVC-compatible?
>
BCB uses its own ABI and its own object format.
I checked VC6 : empty class has size 1 byte, EBO is applied.
/Pavel
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk