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]

output_operand: floating constant misused.


You wouldn't believe what they do to floats these days.

Full error message:

Y2KBUtest.F:264: output_operand: floating constant misused
Please submit a full bug report, with preprocessed source if
appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

Command:

$ /usr/snp/bin/g77 -O2 -c -g Y2KBUtest.f
Y2KBUtest.f:264: output_operand: floating constant misused
Please submit a full bug report, with preprocessed source if
appropriate.

Today's CVS head on alphaev6-unknown-linux-gnu ...

Source:

        SUBROUTINE Y2KBUtest
      PARAMETER(IYYADD=2)

      PARAMETER(JPBFLI=8193, JPVALS=80000)
      PARAMETER (KVALS=JPVALS)
      CHARACTER*80  CVALS(JPVALS)
      CHARACTER*64  CNAMES(JPVALS)
      CHARACTER*24  CUNITS(JPVALS)

      DIMENSION JBUFI(JPBFLI)
      DIMENSION IBUFI(JPBFLI),VALUES(JPVALS)
      DIMENSION  NSUP(9),NSEC0(3),NSEC1(100),NSEC2(64),NSEC3(4),
     1   NSEC4(2),NKEY(46),NTDLST(JPVALS),NDATA(100),KTDEXP(JPVALS)
!KELEM)
      DATA NDATA/100*0/
      YYADD=IYYADD
      write(6,'('' STARTING...'')')

      IERR=99
      KUNIT=1
   10 CONTINUE
      ILEN=JPBFLI
      CALL PBMESR(KUNIT,1,IBUFI,ILEN,IERR)
      IF(IERR.LT.0)THEN
        WRITE(6,'('' BUFR READ ERROR..'')')
        CALL ABORT
      ELSE IF(IERR.EQ.1)THEN
        GO TO 999
      ENDIF
      IF(ILEN.LE.8)GO TO 10
      IERR=0
      CALL BUS012(ILEN,IBUFI,NSUP,NSEC0,NSEC1,NSEC2,IERR)
      IF (IERR.NE.0) THEN
         WRITE(6,'(''  ERROR IN BUS012..IERR= '',I12)')IERR
           CALL ABORT
      ENDIF
      ITYPE=NSEC1(6)
      IF(ITYPE.EQ.6) GO TO 10 ! LOCAL SFLOC DATA
      ISUBTYP=NSEC1(7)
               MVDIM2=NSUP(6)
      IERR = 0
      CALL BUUKEY(NSEC1,NSEC2,NKEY,NSUP,IERR)
      IF (IERR.NE.0) THEN
         WRITE(6,*)' ERROR EXPANDING BUFR KEY ...IERR=',IERR
         CALL ABORT
      ENDIF

               MVDIM1=JPVALS/MVDIM2
               NVDIM1=MVDIM1
               IERR=0
               CALL BUFREX(ILEN,IBUFI,NSUP,NSEC0,NSEC1,NSEC2,NSEC3,
     1            NSEC4,MVDIM1,CNAMES,CUNITS,JPVALS,VALUES,CVALS,IERR)
               IF(IERR.EQ.20)then
                   write(6,'('' Table D entry not found, skip ob'')')
                   ierr=0
                   goto 10
               endif
               IF(IERR.EQ.105)then
                   write(6,'('' BUFR table not found, skip ob'')')
                   ierr=0
                   goto 10
               endif
               IF (IERR.NE.0) THEN
                  WRITE(6,'(''  ERROR IN BUFREX..IERR= '',I12)')
     1               IERR
                  CALL ABORT
               ENDIF
               MVDIM1=NSUP(5)
               CALL BUSEL(NTDLEN,NTDLST,NTDEXL,KTDEXP,IERR)
               IF (IERR.NE.0) THEN
                  WRITE(6,'(''  ERROR IN BUSEL ..IERR= '',I10)')
     1               IERR
                  CALL ABORT
               ENDIF
             IF(NSEC1(9).LE.100)THEN
                NSEC1(9)=NSEC1(9)+IYYADD
                IF(NSEC1(9).GT.100)NSEC1(9)=NSEC1(9)-100
             ELSE
                WRITE(6,*)' BAD YEAR IN SECTION 1 = ',NSEC1(9)
                CALL ABORT
             ENDIF
             IF(NKEY(4).GE.1900)THEN
                NKEY(4)=NKEY(4)+IYYADD
             ELSE IF(NKEY(4).LE.100)THEN
                NKEY(4)=NKEY(4)+IYYADD
                IF(NKEY(4).GT.100)NKEY(4)=NKEY(4)-100
             ELSE
                WRITE(6,*)' BAD YEAR IN BUFR KEY = ',NKEY(4)
                CALL ABORT
             ENDIF
                      KERR=0
         CALL BUPKEY(NKEY,NSEC1,NSEC2,KERR)
         IF(KERR.NE.0)THEN
            WRITE(6,'('' ERROR PACKING RDB KEY...ABORT'')')
            WRITE(6,*)NKEY
            CALL ABORT
         ENDIF


               
               IF(NTDEXL.NE.MVDIM1)THEN
                  WRITE(6,'(''  ERROR IN NTDEXL: '',3I12)')
     1               NTDEXL,MVDIM1,MVDIM2
                 CALL ABORT
               ENDIF
 
         KBEG=1
         NUM=0
         NDATA(1)=0
         NDATA(2)=0
         NDATA(3)=0
         NDATA(4)=0
         NDATA(5)=0
         NDATA(6)=0
         NDATA(7)=0
         NREPL=0
               DO 8522 IREP=1,MVDIM2
           DO 852 JIM=1,MVDIM1
               NUM=NUM+1
          IF(KTDEXP(JIM).EQ.4001.OR. KTDEXP(JIM).EQ.026193)THEN
               YEAR=VALUES(JIM+KBEG-1)
                 IF(YEAR.GE.0.AND.YEAR.LE.9999.0)THEN
                   IF(YEAR.GE.1900.0)THEN
                      YEAR=YEAR+YYADD
                   ELSE IF(YEAR.LE.100.0)THEN
                      YEAR=YEAR+YYADD
                      IF(YEAR.GT.100.0)YEAR=YEAR-100.0
                   ELSE
                      WRITE(6,*)' BAD YEAR IN REPORT BODY=',YEAR
                      CALL ABORT
                   ENDIF
                      VALUES(JIM+KBEG-1)=YEAR
                 ENDIF
          ELSE IF(KTDEXP(JIM).EQ.031001.OR.KTDEXP(JIM).EQ.031002)THEN
                 NREPL=NREPL+1
                 IF(NREPL.GE.100)THEN
                  WRITE(6,*)' TOO MANY REPLICATION FACTORS..??'
                 ENDIF
                 NDATA(NREPL)=NINT(VALUES(JIM+KBEG-1))
          ENDIF
               IF(IREP.GT.1)VALUES(NUM)=VALUES(JIM+KBEG-1)
852        continue
8522        continue
             IF(NREPL.Gt.6)THEN
             WRITE(6,*)' NREPL,ITYPE,ISUBTYP=',NREPL,ITYPE,ISUBTYP
             ENDIF
         
         KDLENG=NREPL !4
         JELEM=NTDEXL
         KTDLEN=NTDLEN
         K=0   ! NO PRINT
         KERR=0

         IF(KERR.NE.0)THEN
            WRITE(6,'('' ERROR EXPANDING ELEMENTS...ABORT'')')
            WRITE(6,*)KERR
         ENDIF
         KBUFL=JPBFLI
         CALL BUFREN( NSEC0,NSEC1,NSEC2,NSEC3,NSEC4,
     1      KTDLEN,NTDLST,KDLENG,NDATA,JELEM,
     2      KVALS,VALUES,CVALS,KBUFL,JBUFI,KERR)
         IF(KERR.GT.0)THEN
            WRITE(6,'('' ERROR IN PACKING BUFR MESSAGE: '')')
            WRITE(6,*)ITYPE,ISUBTYP
            DO 8852 JIM=1,MVDIM1
            write(6,*)JIM,KTDEXP(JIM),VALUES(JIM)
8852        continue
            stop
          ENDIF
       WRITE(2)(JBUFI(I),I=1,KBUFL)
       GO TO 10
999      CONTINUE
         END

-- 
Toon Moene - mailto:toon@moene.indiv.nluug.nl - phoneto: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
Maintainer, GNU Fortran 77: http://gcc.gnu.org/onlinedocs/g77_news.html
Join GNU Fortran 95: http://g95.sourceforge.net/ (under construction)


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