[patch, libgfortran] Pr47567 Wrong output for small absolute values with F editing

Jerry DeLisle jvdelisle@frontier.com
Mon Feb 28 08:52:00 GMT 2011


Hi all,

I am painfully aware that we have gone through a few iterations here.  Once 
again, I hope this is the last of it.

This patch does some code clean-up. I have consolidated the handling of the 
special case of F0.d in one place and moved the special case of zero values to 
after rounding has occurred.  This way, values not zero, but rounded down to 
zero are handled correctly.

Regression tested on x86-64.  The comprehensive test case is from the PR 
reporter, Thomas Henlich. Thanks Thomas for that test case.

OK for trunk?

Jerry

2011-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/47567
	* io/write_float.def (output_float): Move handling of w = 0 to after
	output rounding. Check for zero and set zero_flag accordingly. Set
	width according to zero_flag. Add better comments.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr47567-new.diff
Type: text/x-patch
Size: 2130 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20110228/dd360c05/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fmt_fw_d.f90
Type: text/x-fortran
Size: 3658 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20110228/dd360c05/attachment-0001.bin>


More information about the Gcc-patches mailing list