On Linux/x86-64, revision 178470 failed to build 178.galgel, 191.fma3d and 200.sixtrack. All errors look like gfortran -c -o lapak.o -ffixed-form -ffixed-line-length-132 -DSPEC_CPU2000_LP64 -O3 -funroll-loops -ffast-math lapak.f90 lapak.f90: In function 'ilaenv': lapak.f90:4285:0: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. specmake[3]: *** [lapak.o] Error 1 Revision 178287 is OK.
[hjl@gnu-35 delta-fortran]$ cat x.f INTEGER FUNCTION ILAENV( ISPEC, NAME, OPTS, N1, N2, N3, $ N4 ) LOGICAL CNAME, SNAME CHARACTER*1 C1 CHARACTER*2 C2, C4 CHARACTER*3 C3 CHARACTER*6 SUBNAM GO TO ( 100, 100, 100, 400, 500, 600, 700, 800 ) ISPEC 100 CONTINUE ILAENV = 1 IC = ICHAR( SUBNAM( 1:1 ) ) IZ = ICHAR( 'Z' ) IF( IZ.EQ.90 .OR. IZ.EQ.122 ) THEN IF( IC.GE.97 .AND. IC.LE.122 ) THEN DO 10 I = 2, 6 IC = ICHAR( SUBNAM( I:I ) ) IF( IC.GE.97 .AND. IC.LE.122 ) $ SUBNAM( I:I ) = CHAR( IC-32 ) 10 CONTINUE END IF IF( ( IC.GE.129 .AND. IC.LE.137 ) .OR. $ ( IC.GE.162 .AND. IC.LE.169 ) ) THEN DO 20 I = 2, 6 IF( ( IC.GE.129 .AND. IC.LE.137 ) .OR. $ ( IC.GE.162 .AND. IC.LE.169 ) ) $ SUBNAM( I:I ) = CHAR( IC+64 ) 20 CONTINUE END IF IF( IC.GE.225 .AND. IC.LE.250 ) THEN SUBNAM( 1:1 ) = CHAR( IC-32 ) DO 30 I = 2, 6 IF( IC.GE.225 .AND. IC.LE.250 ) $ SUBNAM( I:I ) = CHAR( IC-32 ) 30 CONTINUE END IF END IF C1 = SUBNAM( 1:1 ) SNAME = C1.EQ.'S' .OR. C1.EQ.'D' CNAME = C1.EQ.'C' .OR. C1.EQ.'Z' IF( .NOT.( CNAME .OR. SNAME ) ) $ RETURN IF( C2.EQ.'GE' ) THEN IF( C3.EQ.'QRF' .OR. C3.EQ.'RQF' .OR. C3.EQ.'LQF' .OR. $ C3.EQ.'QLF' ) THEN IF( C4.EQ.'QR' .OR. C4.EQ.'RQ' .OR. C4.EQ.'LQ' .OR. $ C4.EQ.'BR' ) THEN NX = 128 END IF END IF END IF ILAENV = NX RETURN 400 CONTINUE 500 CONTINUE 600 CONTINUE 700 CONTINUE 800 CONTINUE END SUBROUTINE DGEHRD( N, ILO, IHI, A, LDA, TAU, WORK, LWORK, INFO ) REAL*8 A( LDA, * ), TAU( * ), WORK( * ) NB = ILAENV( 1, 'DGEHRD', ' ', N, ILO, IHI, -1 ) IF( NB.GT.1 .AND. NB.LT.NH ) THEN NX = MAX( NB, ILAENV( 3, 'DGEHRD', ' ', N, ILO, IHI, -1 ) ) IF( NX.LT.NH ) THEN IWS = N*NB END IF END IF WORK( 1 ) = IWS END [hjl@gnu-35 delta-fortran]$ /export/gnu/import/svn/gcc-test-spec/usr/bin/gcc -S -O3 -ffast-math -funroll-loops x.f x.f:61.22: NB = ILAENV( 1, 'DGEHRD', ' ', N, ILO, IHI, -1 ) 1 Warning: Type mismatch in argument 'name' at (1); passed CHARACTER(1) to INTEGER(4) x.f:63.34: NX = MAX( NB, ILAENV( 3, 'DGEHRD', ' ', N, ILO, IHI, -1 ) ) 1 Warning: Type mismatch in argument 'name' at (1); passed CHARACTER(1) to INTEGER(4) x.f: In function ‘ilaenv’: x.f:1:0: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. [hjl@gnu-35 delta-fortran]$
I think it has been fixed by the commit for PR middle-end/50260 (Rev. 178488)
Fixed as of revision 178501.