[Bug libfortran/56786] New: [4.6/4.7/4.8/4.9 Regression] Namelist read fails with designators containing embedded spaces

burnus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Mar 30 10:18:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56786

             Bug #: 56786
           Summary: [4.6/4.7/4.8/4.9 Regression] Namelist read fails with
                    designators containing embedded spaces
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libfortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: burnus@gcc.gnu.org
                CC: jvdelisle@gcc.gnu.org, tiloschwarz@gcc.gnu.org
            Blocks: 56744


Split off from PR 52512.

The following program runs successfully with GCC 4.1, 4.3 and 4.5, but it fails
with GCC 4.6 to GCC 4.9. It also works with Crayftn, PGI and ifort.

The problem is the space in "i(3 )=". Strictly speaking, that is invalid but as
it worked before, others support it as well, and as ignoring spaces in
"name(...)" is nonambiguous, I believe that we should support it.

(F2008, "10.11.2 Name-value subsequences", paragraph 2 has: "Each designator
may be preceded and followed by one or more optional blanks but shall not
contain embedded blanks.")



integer :: i(3)
namelist /nml/ i

i = -42
open(99,status='scratch')
write(99,'(a)') '&nml i(3 ) = 5 /'
rewind(99)
read(99,nml=nml)
close(99)
write(*,nml=nml)
if (i(1)/=-42 .or. i(2)/=-42 .or. i(3)/=5) call abort()
end



More information about the Gcc-bugs mailing list