This is the mail archive of the
mailing list for the libstdc++ project.
Re: [PATCH, libstdc++/61166] overflow when parse number in std::duration operator""
- From: Ed Smith-Rowland <3dw4rd at verizon dot net>
- To: Daniel Krügler <daniel dot kruegler at gmail dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, "libstdc++ at gcc dot gnu dot org" <libstdc++ at gcc dot gnu dot org>
- Date: Wed, 14 May 2014 10:25:56 -0400
- Subject: Re: [PATCH, libstdc++/61166] overflow when parse number in std::duration operator""
- Authentication-results: sourceware.org; auth=none
- References: <537371EF dot 9080901 at verizon dot net> <CAGNvRgCXLBZ9YD+8jbJaHL9PPOdusDMWrtJgAS0_d49W3RHVJA at mail dot gmail dot com>
On 05/14/2014 09:59 AM, Daniel Krügler wrote:
You're right, _Base doesn't need that - only 2, 8, 10, 16 allowed (could
do base64 someday, but still). Change all got me.
2014-05-14 15:38 GMT+02:00 Ed Smith-Rowland <email@example.com>:
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
Built and tested on x84_64-linux.
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.
I should uglify the valid members.
But in keeping with, say, our extension type traits and such maybe i
should uglify value as well.