diff --git a/gcc/testsuite/gfortran.dg/dtio_25.f90 b/gcc/testsuite/gfortran.dg/dtio_25.f90 index 8ca084899de77ecf974a0ad7a88c58b6b4ebbe42..1de7dc0bd9438e3183a754a5473eb57a38d67779 100644 --- a/gcc/testsuite/gfortran.dg/dtio_25.f90 +++ b/gcc/testsuite/gfortran.dg/dtio_25.f90 @@ -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 diff --git a/gcc/testsuite/gfortran.dg/namelist_57.f90 b/gcc/testsuite/gfortran.dg/namelist_57.f90 index a72b866d575f4835630583c828cc7978b9cce976..8f4c4ed14788595566b7639b4296204e59c1a454 100644 --- a/gcc/testsuite/gfortran.dg/namelist_57.f90 +++ b/gcc/testsuite/gfortran.dg/namelist_57.f90 @@ -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 diff --git a/gcc/testsuite/gfortran.dg/namelist_65.f90 b/gcc/testsuite/gfortran.dg/namelist_65.f90 index 2ca67f2d43f9918f004fc6507b85c2ed0375b7b9..424c7229590083236e5c1c8835805a8b5f8aaadf 100644 --- a/gcc/testsuite/gfortran.dg/namelist_65.f90 +++ b/gcc/testsuite/gfortran.dg/namelist_65.f90 @@ -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 diff --git a/libgfortran/io/write.c b/libgfortran/io/write.c index a0401fed4e08534696f92e61be5f08f65c782760..49beaee4724e6978894b6554ccfad0fb41dca820 100644 --- a/libgfortran/io/write.c +++ b/libgfortran/io/write.c @@ -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. */