[Bug libstdc++/45280] Stream parsing of digit-then-e (with no exponent) now fails

2010-08-13 Thread lpsmith at u dot washington dot edu
--- Comment #10 from lpsmith at u dot washington dot edu 2010-08-13 21:41 --- Whoops, duh, dinkumware is ms. Never mind, it was a dumb joke anyway. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45280

[Bug libstdc++/45280] Stream parsing of digit-then-e (with no exponent) now fails

2010-08-13 Thread lpsmith at u dot washington dot edu
--- Comment #9 from lpsmith at u dot washington dot edu 2010-08-13 21:40 --- Fair enough! I still disagree, but I guess my task now is to get Dinkumware and Roguewave to change their implementations, and come back. I don't suppose you'd be swayed by Microsoft? I didn't think so ;-)

[Bug libstdc++/45280] Stream parsing of digit-then-e (with no exponent) now fails

2010-08-13 Thread paolo dot carlini at oracle dot com
--- Comment #8 from paolo dot carlini at oracle dot com 2010-08-13 21:20 --- I'm not erring. We changes this behavior on purpose, after having also checked that *2* other, completely independent, implementations agree (ie, Dinkumware and Roguewave). -- http://gcc.gnu.org/bugzilla/s

[Bug libstdc++/45280] Stream parsing of digit-then-e (with no exponent) now fails

2010-08-13 Thread lpsmith at u dot washington dot edu
--- Comment #7 from lpsmith at u dot washington dot edu 2010-08-13 21:14 --- You're right! Sorry; I apparently jumped to a conclusion while testing (but I did test!) I still disagree that an 'e' with no digit following can be reasonably construed as part of an improperly-formatted flo

[Bug libstdc++/45280] Stream parsing of digit-then-e (with no exponent) now fails

2010-08-13 Thread paolo dot carlini at oracle dot com
--- Comment #6 from paolo dot carlini at oracle dot com 2010-08-13 21:00 --- You are of course wrong. Parsing something like "59e" as an integer type of course succeeds and gives "59". Really, we have *tons* of testcases about that in the testsuite. We know what we are doing ;) -- p

[Bug libstdc++/45280] Stream parsing of digit-then-e (with no exponent) now fails

2010-08-13 Thread lpsmith at u dot washington dot edu
--- Comment #5 from lpsmith at u dot washington dot edu 2010-08-13 20:56 --- Followup: This still fails even if you're trying to pipe it into an integer and not a double. Integers, as per 22.2.3.1 in C++98, do not have an optional 'e' after them. (Though of course you could *cast* a

[Bug libstdc++/45280] Stream parsing of digit-then-e (with no exponent) now fails

2010-08-13 Thread lpsmith at u dot washington dot edu
--- Comment #4 from lpsmith at u dot washington dot edu 2010-08-13 20:34 --- Yes, exactly! Which is why the 'e' should not be parsed at all unless there is an optional sign and a compulsory digit following it. The 'e' in general is not compulsory. '59' is a valid double. The context

[Bug libstdc++/45280] Stream parsing of digit-then-e (with no exponent) now fails

2010-08-13 Thread paolo dot carlini at oracle dot com
--- Comment #3 from paolo dot carlini at oracle dot com 2010-08-13 20:23 --- By the way, if you read 22.2.3.1 in C++98, it's clear that 'e' is *not* just any other character: after 'e', a sign is optional but at least a digit is compulsory. -- http://gcc.gnu.org/bugzilla/show_bug.c

[Bug libstdc++/45280] Stream parsing of digit-then-e (with no exponent) now fails

2010-08-13 Thread lpsmith at u dot washington dot edu
--- Comment #2 from lpsmith at u dot washington dot edu 2010-08-13 20:22 --- Is the reasoning explained somewhere? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45280

[Bug libstdc++/45280] Stream parsing of digit-then-e (with no exponent) now fails

2010-08-13 Thread paolo dot carlini at oracle dot com
--- Comment #1 from paolo dot carlini at oracle dot com 2010-08-13 20:15 --- Yes, this is intended. We even have testcases about that. -- paolo dot carlini at oracle dot com changed: What|Removed |Added