This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libstdc++/81122] [DR 2381] parsing f stopped after '0' when reading std::hexfloat >> f;


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81122

--- Comment #17 from Jonathan Wakely <redi at gcc dot gnu.org> ---
For the avoidance of doubt:

C++98 did not support reading hex floats from an istream.

Libstdc++ still follows the C++98 spec, so does not read hex floats. "0x1" is
read as "0". "0x1p1" is also read as "0".

LWG 2381 is a (currently open) issue reported against the standard, saying that
the standard is not clear about whether reading hex floats is supposed to work.
The proposed fix is to add 'p' and 'P' to the list of atoms, and add examples
making it clear what should be parsed.

At this time LWG 2381 is still open. Until the proposed fix (or some other fix)
is resolved by making a change to the draft standard, I do not want to change
libstdc++.

When the C++ committee resolves LWG 2381 I will update libstdc++ to implement
the new rules.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]