https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118774
Bug ID: 118774
Summary: Tab skips miscalculated with 'stream' write
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libfortran
Assignee: unassigned at gcc dot gnu.org
Reporter: jvdelisle at gcc dot gnu.org
Target Milestone: ---
This test case found during review of patch for PR114618.
program z3
implicit none
integer, parameter :: wp = kind(0d0)
real(kind=wp) :: pi = 3.14159265358979323846264338_wp
character(len=*), parameter:: fmt1 = '(19("."),t1,g0,1x,t21,g0)'
character(len=*), parameter:: fmt2 = '(19("."),t1,g0," ",t21,g0)'
character(21) :: output1, output2
write (*, fmt1) 'RADIX', radix(pi)
write (*, fmt2) 'RADIX', radix(pi)
open (10, form="formatted")
write(10, fmt1) 'RADIX', radix(pi)
write(10, fmt2) 'RADIX', radix(pi)
close(10)
open (11, form="formatted", access="stream")
write(11, fmt1) 'RADIX', radix(pi)
write(11, fmt2) 'RADIX', radix(pi)
close(11)
end program z3
Output:
% head fort.10 fort.11
==> fort.10 <==
RADIX.............. 2
RADIX ............. 2
==> fort.11 <==
RADIX 2............
RADIX 2...........