Commit ba67259c by Jerry DeLisle

write_float.def (output_float): Move block determining room for leading zero to…

write_float.def (output_float): Move block determining room for leading zero to before checkng g0 formatting.

2015-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* io/write_float.def (output_float): Move block determining
	room for leading zero to before checkng g0 formatting.

From-SVN: r230728
parent 4f8a3b87
2015-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* io/write_float.def (output_float): Move block determining
room for leading zero to before checkng g0 formatting.
2015-09-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 2015-09-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR libfortran/67527 PR libfortran/67527
......
...@@ -514,12 +514,21 @@ output_float (st_parameter_dt *dtp, const fnode *f, char *buffer, size_t size, ...@@ -514,12 +514,21 @@ output_float (st_parameter_dt *dtp, const fnode *f, char *buffer, size_t size,
w = w == 1 ? 2 : w; w = w == 1 ? 2 : w;
} }
} }
/* Work out how much padding is needed. */ /* Work out how much padding is needed. */
nblanks = w - (nbefore + nzero + nafter + edigits + 1); nblanks = w - (nbefore + nzero + nafter + edigits + 1);
if (sign != S_NONE) if (sign != S_NONE)
nblanks--; nblanks--;
/* See if we have space for a zero before the decimal point. */
if (nbefore == 0 && nblanks > 0)
{
leadzero = 1;
nblanks--;
}
else
leadzero = 0;
if (dtp->u.p.g0_no_blanks) if (dtp->u.p.g0_no_blanks)
{ {
w -= nblanks; w -= nblanks;
...@@ -544,15 +553,6 @@ output_float (st_parameter_dt *dtp, const fnode *f, char *buffer, size_t size, ...@@ -544,15 +553,6 @@ output_float (st_parameter_dt *dtp, const fnode *f, char *buffer, size_t size,
return false; return false;
} }
/* See if we have space for a zero before the decimal point. */
if (nbefore == 0 && nblanks > 0)
{
leadzero = 1;
nblanks--;
}
else
leadzero = 0;
/* For internal character(kind=4) units, we duplicate the code used for /* For internal character(kind=4) units, we duplicate the code used for
regular output slightly modified. This needs to be maintained regular output slightly modified. This needs to be maintained
consistent with the regular code that follows this block. */ consistent with the regular code that follows this block. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment