Boost logo

Boost :

Subject: Re: [boost] [iterator][type_traits] A test is failing with gcc inc++03mode
From: Edward Diener (eldiener_at_[hidden])
Date: 2016-12-17 13:54:23


On 12/17/2016 12:31 PM, Peter Dimov wrote:
> Edward Diener wrote:
>
>> Your suggestion worked brilliantly. With -std=gnu++03 references to
>> references are fine. However it looks like zip_iterator may need to be
>> changed so that if references to references are not supported it
>> should not be used. I did not write or update zip_iterator; Kohei
>> Takahashi did the work of updating it.
>
> It's not us forming the reference to reference, it's the __is_abstract
> intrinsic, so that's arguably a bug in the compiler.
>
> There's something odd in your error message though.
>
>>> error: forming reference to reference type
>>> 'std::__cxx11::basic_string<char>&'
>>> pair(const _T1& __a, const _T2& __b)
>>> ^~~~
>
> __cxx11 looks C++11 specific, and in -std=c++03 mode std::string
> shouldn't contain C++11 things, so there could be something else going
> wrong here.

I asked about the __cxx11 and was told it is not C++11 specific but has
to do with the dual ABI controlled by the _GLIBCXX_USE_CXX11_ABI macro.
I should probably set that macro to 0 for less than c++11 compilation
nonetheless.


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