------- Comment #19 from dominiq at lps dot ens dot fr 2009-01-17 12:29 ------- Further reduced test case:
PROGRAM testcase IMPLICIT NONE INTEGER NENERT PARAMETER (NENERT=62) LOGICAL QENER(NENERT) CHARACTER*4 ANER(NENERT) CHARACTER*80 LINE INTEGER NTERMS, J, START, STOP, PUNIT PUNIT = 6 qener = .false. qener(5:10) = .true. aner = '' ANER(5)='BOND' ANER(6)='ANGL' ANER(7)='DIHE' ANER(8)='IMPR' ANER(9) ='VDW ' ANER(10)='ELEC' LINE=' ' LINE(2:2)='|' LINE(80:80)='|' NTERMS=2 DO J=1,NENERT ! IF (QENER(J).AND.ANER(J).NE.' ') THEN IF (QENER(J)) THEN IF (NTERMS.GE.4) THEN WRITE(PUNIT,'(A80)') LINE LINE=' ' LINE(2:2)='|' LINE(80:80)='|' NTERMS=0 write(10,*) LINE END IF NTERMS=NTERMS+1 START=(NTERMS-1)*19 +3 STOP=NTERMS*19+2 write (10,*) stop, LINE(80:80) WRITE(LINE(START:STOP),'(4A)') ' E(',ANER(J),')=' END IF END DO IF (NTERMS.GE.1) WRITE(PUNIT,'(A80)') LINE END gives at -O3 | E(BOND)= E(ANGL)= | E(DIHE)= E(IMPR)= E(VDW )= E(ELEC)= | If I replace the line IF (QENER(J)) THEN by the commented one, I get | E(BOND)= E(ANGL)= | E(DIHE)= E(IMPR)= E(VDW )= E(ELEC)= The content of fort.10 show that the content of LINE(80:80) is wrong. One thing I did not realized when writing comment #10, is that I don't build gcc with graphite on my G5: Using built-in specs. Target: powerpc-apple-darwin9 Configured with: ../gcc-4.4-work/configure --prefix=/opt/gcc/gcc4.4w --mandir=/opt/gcc/gcc4.4w/share/man --infodir=/opt/gcc/gcc4.4w/share/info --build=powerpc-apple-darwin9 --enable-languages=c,c++,fortran,objc,obj-c++,java --with-gmp=/sw --with-libiconv-prefix=/usr --with-system-zlib --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib Thread model: posix gcc version 4.4.0 20090116 (experimental) [trunk revision 143431] (GCC) while I have it on i686-apple-darwin9: Using built-in specs. Target: i686-apple-darwin9 Configured with: ../gcc-4.4-work/configure --prefix=/opt/gcc/gcc4.4w --mandir=/opt/gcc/gcc4.4w/share/man --infodir=/opt/gcc/gcc4.4w/share/info --build=i686-apple-darwin9 --enable-languages=c,c++,fortran,objc,obj-c++,java --with-gmp=/sw --with-libiconv-prefix=/usr --with-system-zlib --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --with-cloog=/opt/cloog/build --with-ppl=/opt/ppl/build Thread model: posix gcc version 4.4.0 20090116 (experimental) [trunk revision 143431p3] (GCC) Somehow I got the impression that graphite is now enabled at -O2, although I may have misunderstood what I read. Could the correlation of this pr with graphite be checked? Just in case I cc Sebastian Pop. -- dominiq at lps dot ens dot fr changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sebpop at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38868