------- 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