https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109358
--- Comment #7 from Steve Kargl <sgk at troutmask dot apl.washington.edu> --- On Fri, Jun 02, 2023 at 01:51:02AM +0000, jvdelisle at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109358 > > Jerry DeLisle <jvdelisle at gcc dot gnu.org> changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > Status|NEW |ASSIGNED > > --- Comment #6 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> --- > I have been doing some additional checking and tried this. It is a variation > which is not STREAM related: > > program tabs > implicit none > integer :: fd > open(newunit=fd, file="test.txt", form="formatted") > write(fd, "(a)") "12345678901234567890123456789" > write(fd, "(i4, t25, t2, i4.4)") 1234, 0123 > close(fd) > end program tabs > > With gfortran gcc 10.4.1 20230121 (GCC) > > $ gfc10 -static -o tabs.x tabs.f90 > $ ./tabs.x > $ cat test.txt > 12345678901234567890123456789 > 1234 0123 > > It seems to me this should be: > > 10123 > > Am I wrong? > I think you're right. t25 will position you 25 spaces from the left tab limit and then you get repositioned with t2 by 2 spaces from the left tab limit.