------- Comment #12 from jakub at gcc dot gnu dot org 2008-06-24 15:04 ------- Even smaller reproducer: PROGRAM PR35659 DIMENSION A(1000), B(1010), AUX(8), IPIV(8), X(16) COMMON /TLSDIM/ M1,M,N,L,IER COMMON /SLATE/ V1,V2,IAR(24),DUM(14) DATA A/0, 1, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0, 1, 0.200000003, 1 0.0399999991, 0.00800000038, 1, 0.400000006, 0.159999996, 2 0.064000003, 1, 0.600000024, 0.360000014, 0.216000006, 1, 3 0.800000012, 0.639999986, 0.512000024, 1, 1, 1, 1, 968*0./ DATA B/1, 2, 1, 1.22140002, 1.49179995, 1.82210004, 4 2.22550011, 2.7183001, 0, 0, 1000*0./ M1 = 2 M = 8 N = 4 L = 1 IER = 0 V1 = 0 V2 = 1.40129846e-45 IAR(:) = 538976288 DUM(:) = 1.35631564e-19 CALL TLSC(A,B,AUX,IPIV,1.,X) END SUBROUTINE TLSMSQ (B,L,M,F) DIMENSION B(*) IF (M.NE.2) CALL ABORT STOP 0 END SUBROUTINE TLSWOP (A,AD,N,NR) DIMENSION A(*), AD(*) CALL ABORT END SUBROUTINE TLUK (A,IASEP,NR,SIG,BETA) DIMENSION A(*) CALL ABORT END SUBROUTINE TLSTEP (A,B,IASEP,IBSEP,NR,NC,BETA) DIMENSION A(*), B(*) CALL ABORT END
The miscompiled TLSC calls the first TLSMSQ routine with 8.0 rather than 2.0 as the 3rd argument. -- jakub at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2008-06-24 15:04:50 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35659