This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/31836] [4.3 Regression] FAIL: 27_io/basic_istream/extractors_arithmetic/char/12.cc execution test
- From: "dave at hiauly1 dot hia dot nrc dot ca" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 May 2007 01:36:52 -0000
- Subject: [Bug libstdc++/31836] [4.3 Regression] FAIL: 27_io/basic_istream/extractors_arithmetic/char/12.cc execution test
- References: <bug-31836-276@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #28 from dave at hiauly1 dot hia dot nrc dot ca 2007-05-12 02:36 -------
Subject: Re: [4.3 Regression] FAIL:
27_io/basic_istream/extractors_arithmetic/char/12.cc execution test
> > The 11.11 man page indicates that single-byte character code sets
> > are supported. It also states that this function is "to be obsoleted
> > at a future date."
>
> Well, that seems weird, to say the least, because strtold is new in C99!
Agreed.
sscanf appears to have better locale support. However, the manpage doesn't
indicate what happens on overflow/underflow (i.e., there's no indication
that errno is ever set to ERANGE).
> Probably, the problem here is that in this libc a version of strtold pre-dates
> the C99 standard (therefore in those docs, definitely before the final C99
> standard, was even expected to not last much!) and, as such, doesn't implement
> the actual C99 semantics, which would mean returning __builtin_huge_vall() in
> case of overflow (C99, 7.20.1.3/10) and everything would perfectly work.
>
> Certainly, we can fix this issue, one way or another, we could even add a
> AC_TRY_RUN configure test, exercising the function in this conditions. I'll
> give the issue more thought, feel free to suggest something, of course...
Yes, 11.11 is old now. The behavior on 11.23 or 11.31 may be different,
so a configure check is probably a good idea.
Dave
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31836