public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libfortran/113223] New: NAMELIST internal write missing leading blank character
@ 2024-01-03 19:51 kargl at gcc dot gnu.org
  2024-01-03 19:51 ` [Bug libfortran/113223] " kargl at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: kargl at gcc dot gnu.org @ 2024-01-03 19:51 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113223

            Bug ID: 113223
           Summary: NAMELIST internal write missing leading blank
                    character
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libfortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: kargl at gcc dot gnu.org
  Target Milestone: ---

Found at https://github.com/llvm/llvm-project/issues/76798

Program test_namelist_blank
  Integer :: i,j
  Character(300) ::s
  Namelist /nml1/i,j

  i = 99
  j = 42
  Write (s,NML=nml1)
  Write (*,'("Internal ",A)') Merge('ok ','bug',s(1:1)==' ')
  Write (*,NML=nml1)
End Program test_namelist_blank

F2018
13.11.4.3 Namelist output records
...
Except for new records created by explicit formatting within a defined
output procedure or by continuation of delimited character sequences,
each output record begins with a blank character.

Patch

diff --git a/libgfortran/io/write.c b/libgfortran/io/write.c
index f94e180ba33..a7cf5d9b233 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.  */

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libfortran/113223] NAMELIST internal write missing leading blank character
  2024-01-03 19:51 [Bug libfortran/113223] New: NAMELIST internal write missing leading blank character kargl at gcc dot gnu.org
@ 2024-01-03 19:51 ` kargl at gcc dot gnu.org
  2024-01-03 21:56 ` kargl at gcc dot gnu.org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: kargl at gcc dot gnu.org @ 2024-01-03 19:51 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113223

kargl at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P4

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libfortran/113223] NAMELIST internal write missing leading blank character
  2024-01-03 19:51 [Bug libfortran/113223] New: NAMELIST internal write missing leading blank character kargl at gcc dot gnu.org
  2024-01-03 19:51 ` [Bug libfortran/113223] " kargl at gcc dot gnu.org
@ 2024-01-03 21:56 ` kargl at gcc dot gnu.org
  2024-01-03 22:06 ` jvdelisle at gcc dot gnu.org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: kargl at gcc dot gnu.org @ 2024-01-03 21:56 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113223

kargl at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jvdelisle at gcc dot gnu.org

--- Comment #1 from kargl at gcc dot gnu.org ---
Jerry can you take a look at this issue.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libfortran/113223] NAMELIST internal write missing leading blank character
  2024-01-03 19:51 [Bug libfortran/113223] New: NAMELIST internal write missing leading blank character kargl at gcc dot gnu.org
  2024-01-03 19:51 ` [Bug libfortran/113223] " kargl at gcc dot gnu.org
  2024-01-03 21:56 ` kargl at gcc dot gnu.org
@ 2024-01-03 22:06 ` jvdelisle at gcc dot gnu.org
  2024-01-04 16:57 ` jvdelisle at gcc dot gnu.org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jvdelisle at gcc dot gnu.org @ 2024-01-03 22:06 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113223

--- Comment #2 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> ---
(In reply to kargl from comment #1)
> Jerry can you take a look at this issue.

Will do. Minor tweak I hope.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libfortran/113223] NAMELIST internal write missing leading blank character
  2024-01-03 19:51 [Bug libfortran/113223] New: NAMELIST internal write missing leading blank character kargl at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2024-01-03 22:06 ` jvdelisle at gcc dot gnu.org
@ 2024-01-04 16:57 ` jvdelisle at gcc dot gnu.org
  2024-01-04 18:31 ` kargl at gcc dot gnu.org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jvdelisle at gcc dot gnu.org @ 2024-01-04 16:57 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113223

--- Comment #3 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> ---
Created attachment 56990
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56990&action=edit
Suggested patch including affected test cases

Regression tested OK.  Three test cases affected.

$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   gcc/testsuite/gfortran.dg/dtio_25.f90
        modified:   gcc/testsuite/gfortran.dg/namelist_57.f90
        modified:   gcc/testsuite/gfortran.dg/namelist_65.f90
        modified:   libgfortran/io/write.c

no changes added to commit (use "git add" and/or "git commit -a")


This looks good to me and I will commit as simple and obvious.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libfortran/113223] NAMELIST internal write missing leading blank character
  2024-01-03 19:51 [Bug libfortran/113223] New: NAMELIST internal write missing leading blank character kargl at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2024-01-04 16:57 ` jvdelisle at gcc dot gnu.org
@ 2024-01-04 18:31 ` kargl at gcc dot gnu.org
  2024-01-07 18:32 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: kargl at gcc dot gnu.org @ 2024-01-04 18:31 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113223

--- Comment #4 from kargl at gcc dot gnu.org ---
(In reply to Jerry DeLisle from comment #3)
> Created attachment 56990 [details]
> Suggested patch including affected test cases
> 
> Regression tested OK.  Three test cases affected.
> 

Thanks, and whoops, sorry about the lack of regtesting.

The change looks simple enough that if you what to 
backport, then go for it

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libfortran/113223] NAMELIST internal write missing leading blank character
  2024-01-03 19:51 [Bug libfortran/113223] New: NAMELIST internal write missing leading blank character kargl at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2024-01-04 18:31 ` kargl at gcc dot gnu.org
@ 2024-01-07 18:32 ` cvs-commit at gcc dot gnu.org
  2024-01-13 21:02 ` cvs-commit at gcc dot gnu.org
  2024-01-13 21:04 ` jvdelisle at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-01-07 18:32 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113223

--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jerry DeLisle <jvdelisle@gcc.gnu.org>:

https://gcc.gnu.org/g:add995ec117d756e61d207041cd32f937c1a1cd9

commit r14-6986-gadd995ec117d756e61d207041cd32f937c1a1cd9
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.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libfortran/113223] NAMELIST internal write missing leading blank character
  2024-01-03 19:51 [Bug libfortran/113223] New: NAMELIST internal write missing leading blank character kargl at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2024-01-07 18:32 ` cvs-commit at gcc dot gnu.org
@ 2024-01-13 21:02 ` cvs-commit at gcc dot gnu.org
  2024-01-13 21:04 ` jvdelisle at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-01-13 21:02 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113223

--- Comment #6 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Jerry DeLisle
<jvdelisle@gcc.gnu.org>:

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)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libfortran/113223] NAMELIST internal write missing leading blank character
  2024-01-03 19:51 [Bug libfortran/113223] New: NAMELIST internal write missing leading blank character kargl at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2024-01-13 21:02 ` cvs-commit at gcc dot gnu.org
@ 2024-01-13 21:04 ` jvdelisle at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: jvdelisle at gcc dot gnu.org @ 2024-01-13 21:04 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113223

Jerry DeLisle <jvdelisle at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #7 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> ---
Backported to gcc-13 using the gcc-backport script.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-01-13 21:04 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-03 19:51 [Bug libfortran/113223] New: NAMELIST internal write missing leading blank character kargl at gcc dot gnu.org
2024-01-03 19:51 ` [Bug libfortran/113223] " kargl at gcc dot gnu.org
2024-01-03 21:56 ` kargl at gcc dot gnu.org
2024-01-03 22:06 ` jvdelisle at gcc dot gnu.org
2024-01-04 16:57 ` jvdelisle at gcc dot gnu.org
2024-01-04 18:31 ` kargl at gcc dot gnu.org
2024-01-07 18:32 ` cvs-commit at gcc dot gnu.org
2024-01-13 21:02 ` cvs-commit at gcc dot gnu.org
2024-01-13 21:04 ` jvdelisle at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).