http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50278
--- Comment #1 from H.J. Lu hjl.tools at gmail dot com 2011-09-02 17:27:43
UTC ---
[hjl@gnu-35 delta-fortran]$ cat x.f
INTEGER FUNCTION ILAENV( ISPEC, NAME, OPTS, N1, N2, N3,
$ N4 )
LOGICALCNAME, SNAME
CHARACTER*1C1
CHARACTER*2C2, C4
CHARACTER*3C3
CHARACTER*6SUBNAM
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]$