[PATCH, libstdc++/61166] overflow when parse number in std::duration operator""

Ed Smith-Rowland 3dw4rd@verizon.net
Wed May 14 14:26:00 GMT 2014


On 05/14/2014 09:59 AM, Daniel Krügler wrote:
> 2014-05-14 15:38 GMT+02:00 Ed Smith-Rowland <3dw4rd@verizon.net>:
>> Make the machinery in bits/parse_number.h unsigned long long.
>> I had actually noticed this a while back but we were in stage 4. Then I
>> forgot.. :-/
>>
>> Built and tested on x84_64-linux.
>>
>> OK?
> I understand the reason why the corresponding static members value got
> type unsigned long long, but why did the template parameter _Base also
> require the same update?
>
> Another question: Presumably "value" indded requires no uglification,
> but what about the member "valid"? I would expect that this is no name
> reserved by the library.
>
> - Daniel
>
>
>
You're right, _Base doesn't need that - only 2, 8, 10, 16 allowed (could 
do base64 someday, but still).  Change all got me.

I should uglify the valid members.
But in keeping with, say, our extension type traits and such maybe i 
should uglify value as well.



More information about the Libstdc++ mailing list