Boost logo

Boost :

Subject: Re: [boost] [config] C++0X Compiler doesn't support classes with constructors in unions
From: Beman Dawes (bdawes_at_[hidden])
Date: 2011-02-23 11:37:07


On Wed, Feb 23, 2011 at 10:48 AM, Vicente Botet <vicente.botet_at_[hidden]>wrote:

>
>
> I was testing your Endian library and the macro used to know if
> constructors
> shouldn't be used for the endian class is up to now
>
> # if defined(BOOST_NO_DEFAULTED_FUNCTIONS) &&
> defined(BOOST_ENDIAN_FORCE_PODNESS)
> # define BOOST_ENDIAN_NO_CTORS
> # endif
>
> I tested with gcc 4.4/4.5.1 c++0x with BOOST_ENDIAN_FORCE_PODNESS defined
> and the union test fails.
>
> This should mean that for these versions BOOST_NO_DEFAULTED_FUNCTIONS is
> not defined so the constructors are defined.
>
> Shouldn't you use BOOST_NO_UNRESTRICTED_UNIONS instead of
> BOOST_NO_DEFAULTED_FUNCTIONS in this case?
>

Probably. I should revisit all of the macro use now that we have real
compilers to test with.

I'm tied up for the rest of this week, but will refresh endian about the
middle of next week.

--Beman


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