On x86_64, gfortran appears to miscompile the fopllowing program: program bug implicit none character*30 :: strg logical l
strg = "false" read (strg,*,err=10) l print *,l stop 10 print *,"error detected" end [EMAIL PROTECTED]:~/tmp> gfortran -v test.f Driving: gfortran -v test.f -lgfortranbegin -lgfortran -lm -shared-libgcc Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: /home/martin/software/gcc/configure --disable-multilib --with-gmp=/home/martin/software/mygmp --with-mpfr=/home/martin/software/mympfr --prefix=/home/martin/software/ugcc --enable-languages=c++,fortran --enable-checking=release Thread model: posix gcc version 4.2.0 20060304 (experimental) /home/martin/software/ugcc/libexec/gcc/x86_64-unknown-linux-gnu/4.2.0/f951 test.f -ffixed-form -quiet -dumpbase test.f -mtune=generic -auxbase test -version -I /home/martin/software/ugcc/lib/gcc/x86_64-unknown-linux-gnu/4.2.0/finclude -o /tmp/cccZfkta.s GNU F95 version 4.2.0 20060304 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.2.0 20060304 (experimental). GGC heuristics: --param ggc-min-expand=98 --param ggc-min-heapsize=128005 as -V -Qy -o /tmp/cc6fIzRc.o /tmp/cccZfkta.s GNU assembler version 2.16.91.0.2 (x86_64-suse-linux) using BFD version 2.16.91.0.2 20050720 (SuSE Linux) /home/martin/software/ugcc/libexec/gcc/x86_64-unknown-linux-gnu/4.2.0/collect2 --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 /usr/lib/../lib64/crt1.o /usr/lib/../lib64/crti.o /home/martin/software/ugcc/lib/gcc/x86_64-unknown-linux-gnu/4.2.0/crtbegin.o -L/home/martin/software/ugcc/lib/gcc/x86_64-unknown-linux-gnu/4.2.0 -L/home/martin/software/ugcc/lib/gcc/x86_64-unknown-linux-gnu/4.2.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/home/martin/software/ugcc/lib/gcc/x86_64-unknown-linux-gnu/4.2.0/../../.. /tmp/cc6fIzRc.o -lgfortranbegin -lgfortran -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /home/martin/software/ugcc/lib/gcc/x86_64-unknown-linux-gnu/4.2.0/crtend.o /usr/lib/../lib64/crtn.o [EMAIL PROTECTED]:~/tmp> ./a.out At line 7 of file test.f Fortran runtime error: End of file [EMAIL PROTECTED]:~/tmp> I would have expected the executable to write "F", or maybe "error detected", which happens if the code is compiled with g77 or gfortran on i386. I think this bug has been introduced during the last two weeks, but I'm not absolutely certain. -- Summary: [gfortran] incorrect behaviour when reading a logical variable from a string Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: martin at mpa-garching dot mpg dot de GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26554