Message ID | 54D80914.80500@charter.net |
---|---|
State | New |
Headers | show |
On 02/08/2015 05:10 PM, Jerry DeLisle wrote: > The attached patch fixes this by checking for the case when we are doing g0 > editing and the exponent is 0. > > Regression tested on X86-64. For the larger kinds, we are on a different code > path out of necessity, so we need to address this corner case. > I committed this followup to correct an omission I made. Sending ChangeLog Sending io/write_float.def Transmitting file data .. Committed revision 220606. 2015-02-10 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/57822 * io/write_float.def (output_float): Apply fix of previous patch to correctly calculate the exponent number of digits and take care of wide character output.
On Sun, Feb 08, 2015 at 05:10:44PM -0800, Jerry DeLisle wrote: > The attached patch fixes this by checking for the case when we are doing g0 > editing and the exponent is 0. > > Regression tested on X86-64. For the larger kinds, we are on a different > code path out of necessity, so we need to address this corner case. > > I will commit in a day or two as simple/obvious, with a Changelog for the > testsuite as well. The test fails on most of the architectures. Not all targets support _10 or _16. Jakub
On Wed, Feb 11, 2015 at 02:04:09PM +0100, Jakub Jelinek wrote: > On Sun, Feb 08, 2015 at 05:10:44PM -0800, Jerry DeLisle wrote: > > The attached patch fixes this by checking for the case when we are doing g0 > > editing and the exponent is 0. > > > > Regression tested on X86-64. For the larger kinds, we are on a different > > code path out of necessity, so we need to address this corner case. > > > > I will commit in a day or two as simple/obvious, with a Changelog for the > > testsuite as well. > > The test fails on most of the architectures. > Not all targets support _10 or _16. For _16 you'd need to guard the test with fortran_real_16 (perhaps split that part into a separate test), for _10 dunno. Jakub
Index: write_float.def =================================================================== --- write_float.def (revision 220505) +++ write_float.def (working copy) @@ -724,7 +724,7 @@ } /* Output the exponent. */ - if (expchar) + if (expchar && !(dtp->u.p.g0_no_blanks && e == 0)) { if (expchar != ' ') {