[gcc r13-8219] libgfortran: Emit a space at beginning of internal unit NML.
Jerry DeLisle
jvdelisle@gcc.gnu.org
Sat Jan 13 21:02:22 GMT 2024
https://gcc.gnu.org/g:370aa06510cc714efd1f24170a09c9ba1f3d76f9
commit r13-8219-g370aa06510cc714efd1f24170a09c9ba1f3d76f9
Author: Jerry DeLisle <jvdelisle@gcc.gnu.org>
Date: Sun Jan 7 10:22:19 2024 -0800
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.
(cherry picked from commit add995ec117d756e61d207041cd32f937c1a1cd9)
Diff:
---
gcc/testsuite/gfortran.dg/dtio_25.f90 | 2 +-
gcc/testsuite/gfortran.dg/namelist_57.f90 | 2 +-
gcc/testsuite/gfortran.dg/namelist_65.f90 | 2 +-
libgfortran/io/write.c | 2 ++
4 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/gcc/testsuite/gfortran.dg/dtio_25.f90 b/gcc/testsuite/gfortran.dg/dtio_25.f90
index 8ca084899de..1de7dc0bd94 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 a72b866d575..8f4c4ed1478 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 2ca67f2d43f..424c7229590 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 5d47a6d25f7..519c99b4a87 100644
--- a/libgfortran/io/write.c
+++ b/libgfortran/io/write.c
@@ -2465,6 +2465,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. */
More information about the Gcc-cvs
mailing list