Prohibit enum <-> int mixup

Kevin P. Fleming kpfleming@digium.com
Mon Jan 31 23:34:00 GMT 2011


On 01/31/2011 01:16 PM, Ian Lance Taylor wrote:
> Jonathan Wakely<jwakely.gcc@gmail.com>  writes:
>
>> On 30 January 2011 20:32, Enrico Weigelt wrote:
>>>
>>> I'll have to add --std=c++0x parameter - does that have any other
>>> side effects I should be aware of ?
>>
>> -std=c++0x enables lots of things, but if you don't use e.g. variadic
>> templates or the decltype keyword you shouldn't notice.  The only
>> thing I can think of affecting valid code is changing the meaning of
>> the 'auto' keyword, which noone sensible uses anyway.
>
> 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.

I don't think the OP was asking about building GCC itself using 
--std=c++0x, just his programs. In that situation, presumably his 
libstdc++ was built by his distro and has the 'standard' ABI, right?

-- 
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