* [PATCH] Fix leading zero with g0 editing
@ 2015-11-22 21:33 Jerry DeLisle
2015-11-22 21:44 ` Steve Kargl
0 siblings, 1 reply; 3+ messages in thread
From: Jerry DeLisle @ 2015-11-22 21:33 UTC (permalink / raw)
To: gfortran; +Cc: gcc patches
[-- Attachment #1: Type: text/plain, Size: 1201 bytes --]
This minor patch brings the leading zero to emitting floats with g0 editing by
moving the block of code up a little before the g0 is handled. This has been
lurking in my trunk for several moths and I would like to get it out of the way.
Updated Test case also.
Regression tested on x86-64-linux.
OK for trunk?
Jerry
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.
Index: fmt_g0_1.f08
===================================================================
--- fmt_g0_1.f08 (revision 230725)
+++ fmt_g0_1.f08 (working copy)
@@ -8,9 +8,9 @@
write(buffer, string) ':',0,':'
if (buffer.ne.":0:") call abort
write(buffer, string) ':',1.0_8/3.0_8,':'
- if (buffer.ne.":.33333333333333331:") call abort
+ if (buffer.ne.":0.33333333333333331:") call abort
write(buffer, '(1x,a,g0,a)') ':',1.0_8/3.0_8,':'
- if (buffer.ne." :.33333333333333331:") call abort
+ if (buffer.ne." :0.33333333333333331:") call abort
write(buffer, string) ':',"hello",':'
if (buffer.ne.":hello:") call abort
write(buffer, "(g0,g0,g0,g0)") ':',.true.,.false.,':'
[-- Attachment #2: write_float.diff --]
[-- Type: text/x-patch, Size: 1169 bytes --]
Index: write_float.def
===================================================================
--- write_float.def (revision 230709)
+++ write_float.def (working copy)
@@ -514,12 +514,21 @@ output_float (st_parameter_dt *dtp, const fnode *f
w = w == 1 ? 2 : w;
}
}
-
+
/* Work out how much padding is needed. */
nblanks = w - (nbefore + nzero + nafter + edigits + 1);
if (sign != S_NONE)
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)
{
w -= nblanks;
@@ -544,15 +553,6 @@ output_float (st_parameter_dt *dtp, const fnode *f
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
regular output slightly modified. This needs to be maintained
consistent with the regular code that follows this block. */
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] Fix leading zero with g0 editing
2015-11-22 21:33 [PATCH] Fix leading zero with g0 editing Jerry DeLisle
@ 2015-11-22 21:44 ` Steve Kargl
2015-11-22 22:19 ` Jerry DeLisle
0 siblings, 1 reply; 3+ messages in thread
From: Steve Kargl @ 2015-11-22 21:44 UTC (permalink / raw)
To: Jerry DeLisle; +Cc: gfortran, gcc patches
On Sun, Nov 22, 2015 at 01:32:56PM -0800, Jerry DeLisle wrote:
> This minor patch brings the leading zero to emitting floats with g0 editing by
> moving the block of code up a little before the g0 is handled. This has been
> lurking in my trunk for several moths and I would like to get it out of the way.
> Updated Test case also.
>
> Regression tested on x86-64-linux.
>
> OK for trunk?
>
OK. Thanks for the patch.
--
Steve
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] Fix leading zero with g0 editing
2015-11-22 21:44 ` Steve Kargl
@ 2015-11-22 22:19 ` Jerry DeLisle
0 siblings, 0 replies; 3+ messages in thread
From: Jerry DeLisle @ 2015-11-22 22:19 UTC (permalink / raw)
To: gfortran; +Cc: gcc patches
On 11/22/2015 01:44 PM, Steve Kargl wrote:
> On Sun, Nov 22, 2015 at 01:32:56PM -0800, Jerry DeLisle wrote:
>> This minor patch brings the leading zero to emitting floats with g0 editing by
>> moving the block of code up a little before the g0 is handled. This has been
>> lurking in my trunk for several moths and I would like to get it out of the way.
>> Updated Test case also.
>>
>> Regression tested on x86-64-linux.
>>
>> OK for trunk?
>>
>
> OK. Thanks for the patch.
>
Thanks Steve.
Committed revision 230728 and revision 230729 for the test case.
Jerry
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-11-22 22:19 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-22 21:33 [PATCH] Fix leading zero with g0 editing Jerry DeLisle
2015-11-22 21:44 ` Steve Kargl
2015-11-22 22:19 ` Jerry DeLisle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).