Prohibit enum <-> int mixup
Kevin P. Fleming
kpfleming@digium.com
Tue Feb 1 13:11:00 GMT 2011
On 01/31/2011 05:56 PM, Ian Lance Taylor wrote:
> Jonathan Wakely<jwakely.gcc@gmail.com> writes:
>
>> On 31 January 2011 19:16, Ian Lance Taylor wrote:
>>>
>>> Using -std=c++0x will cause libstdc++ to build in C++0x mode, which last
>>> time I checked was not strictly ABI compatible with libstdc++ not built
>>> in C++0x mode. So if you link with a dynamic libstdc++.so, you may get
>>> in trouble in some complex scenarios.
>>
>> Do you remember the details? I thought we'd done a good job of not
>> breaking the ABI, and have avoided making some changes required by
>> C+0x because they change the ABI. I'd like to document the potential
>> problems if you can remember where the incompatibilities are.
>
> http://gcc.gnu.org/PR45093
Well... based on Paolo's reply, that's quite concerning. Does this mean
that distros need to provide two compiled versions of libstdc++ and the
compiler wrapper will need to select the proper one to link against
based on whether --std=c++0x was used or not? This could have major
ripple effects as well, as various other C++ libraries (Boost, etc) will
have to be compiled in both modes as well.
--
Kevin P. Fleming
Digium, Inc. | Director of Software Technologies
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
skype: kpfleming | jabber: kfleming@digium.com
Check us out at www.digium.com & www.asterisk.org
More information about the Gcc-help
mailing list