If a namelist which contains a logical variable followed by the same one in a 
input file,
sometimes the second namelist is skipped to read.  Maybe the example following 
shows you
clearer.

      implicit none
      logical   l
      integer   i
      namelist /nm/ i, l
 100  continue 
      read(*,nm,end=190)
      write (*,nm)
      goto 100
 190  continue 
      stop
      end

This is an input file example.
 &nm i=1,l=t &end
 &nm i=2 &end
 &nm i=3 &end

Ant the output is like this:
% ./a.out < inputfile
&NM 
 I = 1, 
 L = T/
&NM 
 I = 3, 
 L = T/
#

The second one is skipped.
I found two method to avoid this feature.
One way is that put the logical variable at the position except for the very 
end:

 &nm l=t,i=1 &end

or

 &nm i=1,l=t,&end

The comma after `t' helps to avoid skipping the next one.
The other way is that use `/' instead of &end (maybe this is standard way).

I think there is something wrong with syntax analysis for the logical constant.

My environment is like this.

% g77 -v
Reading specs from /usr/lib/gcc/i486-linux/3.4.4/specs
Configured with: ../src/configure -v 
--enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr 
--libexecdir=/usr/lib --with-gxx-include-dir=/usr/include/c++/3.4 
--enable-shared --with-system-zlib --enable-nls --without-included-gettext 
--program-suffix=-3.4 --enable-__cxa_atexit --enable-libstdcxx-allocator=mt 
--enable-clocale=gnu --enable-libstdcxx-debug --enable-java-gc=boehm 
--enable-java-awt=gtk --disable-werror i486-linux
Thread model: posix
gcc version 3.4.4 20041218 (prerelease) (Debian 3.4.3-6)

I have tried this program with other versions.  g77 3.3 has the same problem.
g77 2.95 does not.

-- 
           Summary: Namelist reading may be skipped if end with a logical
                    variable
           Product: gcc
           Version: 3.4.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: fuyuki at ccsr dot u-tokyo dot ac dot jp
                CC: gcc-bugs at gcc dot gnu dot org


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

Reply via email to