libgfortran: Emit a space at beginning of internal unit NML.

PR libgfortran/113223

libgfortran/ChangeLog:

	* io/write.c (namelist_write): If internal_unit precede with space.

gcc/testsuite/ChangeLog:

	* gfortran.dg/dtio_25.f90: Update.
	* gfortran.dg/namelist_57.f90: Update.
	* gfortran.dg/namelist_65.f90: Update.
This commit is contained in:
Jerry DeLisle 2024-01-07 10:22:19 -08:00
parent 0a8aba760f
commit add995ec11
4 changed files with 5 additions and 3 deletions

View File

@ -50,7 +50,7 @@ program p
namelist /nml/ x
x = t('a', 5)
write (buffer, nml)
if (buffer.ne.'&NML X=a, 5 /') STOP 1
if (buffer.ne.' &NML X=a, 5 /') STOP 1
x = t('x', 0)
read (buffer, nml)
if (x%c.ne.'a'.or. x%k.ne.5) STOP 2

View File

@ -6,7 +6,7 @@
n = 123
line = ""
write(line,nml=stuff)
if (line(1) .ne. "&STUFF") STOP 1
if (line(1) .ne. " &STUFF") STOP 1
if (line(2) .ne. " N=123 ,") STOP 2
if (line(3) .ne. " /") STOP 3
end

View File

@ -13,7 +13,7 @@ do i=1,len(out)
enddo
write(out,nl1)
if (out(1).ne."&NL1") STOP 1
if (out(1).ne." &NL1") STOP 1
if (out(2).ne." A= 1.00000000 ,") STOP 2
if (out(3).ne." B= 2.00000000 ,") STOP 3
if (out(4).ne." C= 3.00000000 ,") STOP 4

View File

@ -2466,6 +2466,8 @@ namelist_write (st_parameter_dt *dtp)
dtp->u.p.nml_delim = '\0';
}
if (is_internal_unit (dtp))
write_character (dtp, " ", 1, 1, NODELIM);
write_character (dtp, "&", 1, 1, NODELIM);
/* Write namelist name in upper case - f95 std. */