Binary Conversion IO
Paolo Carlini
paolo.carlini@oracle.com
Fri Sep 13 18:12:00 GMT 2013
Hi,
On 09/13/2013 07:48 PM, 3dw4rd@verizon.net wrote:
> Thanks, Paolo for looking at this. I will add a test for underlying type. I do not expect a problem because back in 2001 the last member of the enum (_S_ios_fmtflags_end) was set to 1<<16 to support 16-bit targets (Force 32-bit I suppose). The bin flag took the last slot under that at 1<<15. So the size of the enum should not change (But I'll check it).
Ok.
> (Whether other implementations are so luck is an open question). The value of basefield will change of course but that shouldn't - and doesn't seem to be - messing up masking operations and so on.
basefield seems a problem. It's a user visible entity and if you pass
its value in a function call which crosses two objects all the bets are
off... We have to tackle the problem.
> The tests currently hitting these flags and manips run in -std=c++98 and -std=c++11 modes and test clean, The tests I added obviously run clean. I actually run all these new tests in -std=c++98 mode also.
>
> I could experiment with making this c++1y-only. I would have to make a new c++14 directory under src and move the one lonely definition there. Blocking all the header changes would be easy and making the tests C++1y only would be easy too. If that is preferred I will do it.
It seems to me that this is c++1y material. We already have some,
committed, eg, by Jon, a while ago, right after I tweaked the value of
__cpluplus to be strictly larger than the value mandated by C++11 when
-std=c++1y is specified.
Paolo.
More information about the Libstdc++
mailing list