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: unassig...@gcc.gnu.org

        ReportedBy: bur...@gcc.gnu.org

                CC: jvdeli...@gcc.gnu.org, tiloschw...@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

Reply via email to