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

--- Comment #7 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot 
Uni-Bielefeld.DE> ---
> --- Comment #6 from Patrick Palka <ppalka at gcc dot gnu.org> ---
[...]
> Thanks for testing!  Hmm, that execute failure is surprising.  I wonder just
> how much we're diverging from the output of printf here.  If possible, could
> you let me know the value of the locals 'to_chars_buffer', 'printf_buffer',
> 'precision' and 'testcase' (ideally in hex form) at the point of the assertion
> failure?

I'm seeing exactly the same failure mode on Solaris, both sparc and x86:
32-bit compilation PASSes, execution XFAILed, 64-bit compilation PASSes,
too, but execution FAILs with the same assertion failure.

Here's what gdb prints for those variables (with the test compiled with
-g3 -O0 where the assertion still fails):

(gdb) p to_chars_buffer
$1 = "f.", 'f' <repeats 14 times>, "ep+5380", '\000' <repeats 1000 times>
(gdb) p printf_buffer
$2 = "0x1.", 'f' <repeats 15 times>, "cp+5383", '\000' <repeats 997 times>
(gdb) p precision
No symbol "precision" in current context.
(gdb) p testcase
$3 = 5.56540347525605847154e+1620
(gdb) p/x testcase
$5 = 0x7fffffffffffffff

Reply via email to