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

--- Comment #13 from Heinz Kohl <koh...@t-online.de> ---
O.k., but following your arguments I'd expect 0xb as result for my second
example 0xb.3590da0e2a06736p-3 (attachment 41578), but it's giving 0, also
stopping at 'x' and not at '.', just as in the first case.

It might be just another case of the same problem, but I'm not sure.

An actual test run:

./a.out
Parsing 0x1P-1022 as hex gives 0
Parsing '0xb.3590da0e2a06736p-3 xyz' as hex gives 0 xb.

(The source code for the second example is:
  std::istringstream("0xb.3590da0e2a06736p-3 xyz") >> std::hexfloat >> g >> a
>> b >> c ;
  std::cout << "Parsing '0xb.3590da0e2a06736p-3 xyz' as hex gives " << g << ' '
<< a << b << c << std::endl; 
)

Reply via email to