On 1/28/25 1:33 PM, Harald Anlauf wrote:
Jerry,
while I haven't read your actual patch yet, I think the testcase
is slightly incorrect. In fact, Intel, NAG, Nvidia and AMD flang
disagree with it.
I also installed flang and noticed this. I also received a auto patch
test on ARM that causes me to hold off a bit.
I am able to trigger a floating point exception on another test case I
put together which tells me its blowing out of the fbuf somewhere.
I am going to keep digging.
Adding the following lines before the check with the STOP statement:
write(*,'(a)') output1
write(*,'(a)') output2
write (*, fmt1) 'RADIX', radix(pi)
write (*, fmt2) 'RADIX', radix(pi)
I get (e.g. with NAG):
RADIX.............. 2
RADIX ............. 2
RADIX.............. 2
RADIX ............. 2
STOP: 1
After your patch I get with gfc-15:
RADIX ............. 2
RADIX ............. 2
RADIX ............. 2
RADIX ............. 2
So I think the treatment of 1x is wrong: it should skip one position,
not write a blank here.
>>>
F2023 13.8.1.3 X editing
The nX edit descriptor indicates that the transmission of the next
character to or from a record is to occur at
the character position n characters forward from the current position.
NOTE
An nX edit descriptor has the same effect as a TRn edit descriptor.
Good info I missed.
<<<
Cheers,
Harald
Thanks for feedback.
Jerry