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