This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/29067] New: Internal Error: gfc_resolve_expr(): Bad expression type


gfortran fails on the attached subroutine.

> gfortran -v -save-temps -c ircmva.f
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --enable-mpfr --with-tune=i686
--enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.2 20060901 (prerelease) (Debian 4.1.1-13)
 /usr/lib/gcc/i486-linux-gnu/4.1.2/f951 ircmva.f -ffixed-form -quiet -dumpbase
ircmva.f -mtune=i686 -auxbase ircmva -version -o ircmva.s
GNU F95 version 4.1.2 20060901 (prerelease) (Debian 4.1.1-13) (i486-linux-gnu)
        compiled by GNU C version 4.1.2 20060901 (prerelease) (Debian
4.1.1-13).
GGC heuristics: --param ggc-min-expand=99 --param ggc-min-heapsize=129579
 In file ircmva.f:91

      END
                                                                       1
 Internal Error at (1):
 gfc_resolve_expr(): Bad expression type



Source code :

      SUBROUTINE IRCMVA ( NUMCMP, NCMPVE, NCMPRF,
     >                    NVALEC, NBPG, NBSP, NOLOPG,
     >                    ADSV, ADSD, ADSL,
     >                    TYMAST, MODNUM, NUANOM,
     >                    VAL, PROFAS, IDEB, IFIN )
      IMPLICIT NONE
      INTEGER NTYMAX
      PARAMETER (NTYMAX = 48)
      INTEGER NCMPVE, NCMPRF, NVALEC, NBPG, NBSP
      INTEGER NUMCMP(NCMPRF)
      INTEGER ADSV, ADSD, ADSL
      INTEGER TYMAST
      INTEGER MODNUM(NTYMAX), NUANOM(NTYMAX,*)
      INTEGER PROFAS(*)
      INTEGER IDEB, IFIN
      REAL*8 VAL(NCMPVE,NBSP,NBPG,NVALEC)
      CHARACTER*32 NOLOPG
      REAL*8       ZR
      LOGICAL      ZL
      COMMON /RVARJE/ZR(1)
      COMMON /LVARJE/ZL(1)
      CHARACTER*6 NOMPRO
      PARAMETER ( NOMPRO = 'IRCMVA' )
      CHARACTER*32 EDELGA
      PARAMETER ( EDELGA='________ELNO____________________' )
      INTEGER IAUX, JAUX, KAUX
      INTEGER ADSVXX
      INTEGER INO, IMA, NRCMP, NRCMPR, NRPG, NRSP
      INTEGER IFM, NIVINF
      LOGICAL LOGAUX
      CALL INFNIV ( IFM, NIVINF )
      IF ( NIVINF.GT.1 ) THEN
        CALL UTMESS ( 'I', NOMPRO,
     > 'CREATION DES TABLEAUX DE VALEURS A ECRIRE AVEC :')
        WRITE (IFM,13001) NVALEC, NCMPVE, NBPG, NBSP
      ENDIF
13001 FORMAT('  NVALEC =',I8,', NCMPVE =',I8,
     >       ', NBPG   =',I8,', NBSP   =',I8,/)
      IF ( TYMAST.EQ.0 ) THEN
        DO 21 , NRCMP = 1 , NCMPVE
          ADSVXX = ADSV-1+NUMCMP(NRCMP)-NCMPRF
          JAUX = 0
          DO 211 , IAUX = IDEB, IFIN
            INO = PROFAS(IAUX)
            JAUX = JAUX + 1
            KAUX = INO*NCMPRF
            VAL(NRCMP,1,1,JAUX) = ZR(ADSVXX+KAUX)
  211     CONTINUE
   21   CONTINUE
      ELSE
        LOGAUX = .FALSE.
        IF ( NOLOPG(9:16).EQ.EDELGA(9:16) ) THEN
          IF ( MODNUM(TYMAST).EQ.1 ) THEN
            LOGAUX = .TRUE.
          ENDIF
        ENDIF
        IF ( LOGAUX ) THEN
          IF ( NBSP.GT.1 ) THEN
            WRITE (IFM,13001) NVALEC, NCMPVE, NBPG, NBSP
            CALL UTMESS ( 'F', NOMPRO,
     >     'RENUMEROTATION IMPOSSIBLE AVEC PLUS D''UN SOUS-POINT')
          ENDIF
        ENDIF
        DO 22 , NRCMP = 1 , NCMPVE
          NRCMPR = NUMCMP(NRCMP)
          JAUX = 0
          IF ( LOGAUX ) THEN
            NRSP = 1
            DO 221 , IAUX = IDEB, IFIN
              IMA = PROFAS(IAUX)
              JAUX = JAUX + 1
              DO 2211 , NRPG = 1 , NBPG
                CALL CESEXI ('C',ADSD,ADSL,IMA,NRPG,NRSP,NRCMPR,KAUX)
                VAL(NRCMP,NRSP,NUANOM(TYMAST,NRPG),JAUX)=ZR(ADSV-1+KAUX)
 2211         CONTINUE
  221       CONTINUE
          ELSE
            DO 222 , IAUX = IDEB, IFIN
              IMA = PROFAS(IAUX)
              JAUX = JAUX + 1
              DO 2221 , NRPG = 1 , NBPG
                DO 2222 , NRSP = 1 , NBSP
                  CALL CESEXI ('C',ADSD,ADSL,IMA,NRPG,NRSP,NRCMPR,KAUX)
                  VAL(NRCMP,NRSP,NRPG,JAUX) = ZR(ADSV-1+KAUX)
 2222           CONTINUE
 2221         CONTINUE
  222       CONTINUE
          ENDIF
   22   CONTINUE
      ENDIF
      END


-- 
           Summary: Internal Error: gfc_resolve_expr(): Bad expression type
           Product: gcc
           Version: 4.1.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: mathieu dot courtois at free dot fr
  GCC host triplet: debian testing
GCC target triplet: i486-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29067


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]