This is the mail archive of the gcc@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]

Re: alphaev6-unknown-linux-gnu: error in extract_insn, at recog.c:2127


Richard Henderson wrote:

> On Tue, Jul 24, 2001 at 05:40:38PM -0700, Richard Henderson wrote:
> > As a workaround, give the following a try.
> 
> I should have looked at the actual assembly output closer -- that
> patch is incorrect in that it will _never_ match a true zero.  I
> forgot about the hidden const_double_chain member of CONST_DOUBLE.

Thanks.  This fixed the abort for the code I sent; however, I have
another one that looks quite the same (note the -ffast-math):

$ /usr/snp/bin/g77 -O -ffast-math -S stsbod.f
stsbod.f: In subroutine `stsbod':
stsbod.f:402: Unrecognizable insn:
(insn 6894 6893 6895 (set (reg:DF 2520)
        (ge:DF (reg:DF 2073)
            (const_double:DF (cc0) 0 [0x0] 0 [0x0] [0]))) -1 (nil)
    (expr_list:REG_DEAD (reg:DF 2073)
        (nil)))
stsbod.f:402: Internal compiler error in extract_insn, at recog.c:2127

Here's the source:

      SUBROUTINE STSBOD(YMODE,IREPLN,NCCOF,ZCCOF,NSTST)
                             I M P L I C I T
     1 INTEGER(H),LOGICAL(L),CHARACTER*8 (Y)
                             C O M M O N/NUMCON/
     1 RMDI,     NMDI
     2,RFACT (     12)
                        C O M M O N/COMPHY/
     1 RPI   ,   RDIANS,   RKELVN,   RPSCAL,   EPSMAC
                             C O M M O N/COFHDR/
     1 NHEADR
     2,NCFRLN         ,NCFONM         ,NCFMBN         ,NCFOTP
     3,NCFICT         ,NCFLAT         ,NCFLON         ,NCFDAT
     4,NCFSTM         ,NCFETM
     5,NCFSID(      2),NCFALT         ,NCFOFL         ,NCFKY1
     6,NCFKY2         ,NCFNLV         ,NCFOEC         ,NCFST1
     7,NCFST2         ,NCFST3         ,NCFST4         ,NCFDHM
     8,NCFCHK         ,NCFISP         ,NCFSCH
     1,NCFMHH         ,NCFMSL         ,NCFMRL         ,NCFMAL
     2,NCFMPP         ,NCFMT2         ,NCFMTS         ,NCFMTD
     3,NCFMQ2         ,NCFMWS         ,NCFMWD         ,NCFMSD
     4,NCFESC
                             C O M M O N/COFHDR/
     1 NICDBP         ,NICDOC         ,NOCDBP         ,NOCDOC
     +,NCI4BP         ,NCI4OC         ,NCAPBP         ,NCAPOC
     +,NCBPBP         ,NCBPOC
     2,NONMBP         ,NONMOC         ,NBOXBP         ,NBOXOC
     3,NRBFBP         ,NRBFOC         ,NRFBPS(      5),NRFBOC
     4,NRFIBP(      5),NRFIOC(      5)
     5,NSTDBP         ,NSTDOC         ,NSNDBP         ,NSNDOC
     6,N2TDBP         ,N2TDOC         ,N2RDBP         ,N2RDOC
     7,NPREBP         ,NPREOC
     1,NMAWBP         ,NMAWOC         ,NHUMBP         ,NHUMOC
     2,NSSTBP         ,NSSTOC         ,NSNWBP         ,NSNWOC
     3,NT2MBP         ,NT2MOC         ,NR2MBP         ,NR2MOC
     +,NPRCBP         ,NPRCOC         ,NANYBP         ,NANYOC
     4,NRACBP(      1),NRACOC(      1),NRPSBP(      1),NRPSOC(      1)
     5,NRRJBP(      1),NRRJOC(      1),NREVBP( 13,  1),NREVOC(      1)
                             C O M M O N/COFBDY/
     1 NCFBLN         ,NCFFLGLN
     1,NCFVNM         ,NCFPPP         ,NCFPRL         ,NCFPOB
     +,NCFVAR         ,NCFVOB
     3,NCFFGS         ,NCFOMF         ,NCFOMA         ,NCFOMI
     4,NCFOF1         ,NCFOF2         ,NCFOF3
     5,NCFOER         ,NCFOBS         ,NCFFGE         ,NCFPER
     6,NCFFLG(      2),NCFFL1(      2)
     1,NFDBBP         ,NFDBOC         ,NPDBBP         ,NVDBBP
     2,NINLBP         ,NCDPBP         ,NLIDPT(      9)
     3,NPDBOC         ,NVDBOC         ,NCFBPS(      7),NCFBOC(      7)
     4,NINLOC         ,NCDPOC         ,NLIDPO
     5,NDACBP         ,NDACOC         ,NDPSBP         ,NDPSOC
     6,NDRJBP         ,NDRJOC         ,NFGFBP         ,NFGFOC
     7,NDPFBP         ,NDPFOC         ,NFNFBP         ,NFNFOC
     8,NCHKBP         ,NCHKOC         ,NSOBBP         ,NSOBOC
     9,NDEVBP(     25),NDEVOC
     +,NPPOBP         ,NPPOOC         ,NPFOBP         ,NPFOOC
                             C O M M O N/COFBDY/
     1 NPDBWO         ,NINLWO         ,NCDPWO         ,NVDBWO
     2,NDACWO         ,NDPSWO         ,NDRJWO         ,NFGFWO
     3,NDPFWO         ,NFNFWO         ,NCHKWO         ,NSOBWO
     4,NDEVWO
                             C O M M O N/STSHDR/
     1 NSHDOB
     2,NRECLN         ,NANALB         ,NRECNO         ,NEMPTY
     3,NBOXNM         ,NOBTP          ,NCDTP          ,NLATIT
     4,NLONGT         ,NDATE          ,NSYNTM         ,NEXTIM
     5,NSTID(2)       ,NDBKY1         ,NDBKY2         ,NALTIT
     6,                NSTCAR         ,NINSTR         ,NQLLTA
     1,NSTCBP         ,NSTIBP         ,NSCFBP         ,NDBFBP
     2,NINSBP         ,NI4BP
     3,NSTCOC         ,NSTIOC         ,NSCFOC         ,NDBFOC
     4,NINSOC         ,NI4OC
     1,NF3BPS(      5),NF3IBP(      5)
     2,NF3BOC         ,NF3IOC(      5)
     1,NLTMCN         ,NLGMCN         ,NALMCN
     R,RLTLNS
                             C O M M O N/STSBDY/
     1 NLEVN (  8,  2),LMULTI(      8)
     1,NVARWR( 12,  8)
     1,NDPRWR(  5,3, 8),NFDPBP(5,  8),NADPBP(  5,  8),NIDPBP(  5,  8)
     2,NDPROC
     1,NDQIWR(  8,  2),NDQVBP(  5,  8),NDQVOC
     2,NDQIST(      7),NDQIOC(      7)
     1,NFGFWR(  5,  8),NFFGBP(  5,  8),NFFGOC
     1,NRDBWR(10, 8,2),NRDBBP( 10,  8),NRDBOC
     2,NPCDBP         ,NPCDOC         ,NEMPWR(  2,  8)
                              C O M M O N/NMBRING/
     1 NVAR  (     12),NVNUMB(     46),NDPRVN(      5)
     2,NZOT  (  8,  2),NDZOT (  8,  2),NTOT  (  8,  2),NTDOT (  8,  2)
     3,NPRLOT(  8,  2),NANPOT(  8,  2),NQOT  (  8,  2),NDDOT (  8,  2)
     4,NFFOT (  8,  2),NWWOT (  8,  2),NCLOT (  8,  2)
     5,NORESN         ,NRESON(     25)
                             C O M M O N/OBCDTP/
     1 NSYNOP         ,NAIREP         ,NSATOB         ,NDRIBU
     2,NTEMP          ,NPILOT         ,NSATEM         ,NPAOB
     1,NSRSCD         ,NATSCD
     2,NSHSCD         ,NABSCD         ,NSHRED         ,NATSHS
     3,NAIRCD         ,NCODAR         ,NCOLBA
     4,NSTBCD         ,NSST
     5,NDRBCD         ,NBATHY         ,NTESAC
     6,NLDTCD         ,NSHTCD         ,NTDROP         ,NROCOB
     7,                                                NROCSH
     8,NLDPCD         ,NSHPCD
     9,NSTMCD         ,NSTOVS
     3,NPABCD
                             C O M M O N/COMOBF/
     1 NLNARR,   NLNCOF,   NLNCCF,   NINLEN,   NCDDRS,    NMXDCL
     2,NMXCOF,   NLNSTS,   NLNRET,   NNORMW,   NNORHM
     L,LBFAOF
                             D I M E N S I O N
     1 LDEPVN(       5),IENTRY(       8)
                             C O M M O N/COMIOD/
     1 NCOFIO     ,NSTIOM     ,NSTIOH     ,NIN     ,NOUT
      CHARACTER*(*) YMODE
      INTEGER NCCOF(*),NSTST(*)
      REAL    ZCCOF(*)
      INTEGER INVAR,IPOS,ICOVR,INVAL,IBIT,NBIT,NOT,ISHFT
      INTEGER IBITS,INSERT,NBITS
      IBITS (INVAR,IPOS,ICOVR)=IAND(ISHFT(INVAR,-IPOS),ICOVR)
      INSERT(INVAR,INVAL,IBIT)=IOR(INVAR,ISHFT(INVAL,IBIT))
      NBITS(NBIT)=NOT(ISHFT(NOT(0),NBIT))
 1    CONTINUE
 100  CONTINUE
      IF(YMODE .EQ.'M&W')        THEN
         ICASE =    1
      ELSE IF(YMODE.EQ.'HUM')     THEN
         ICASE =    2
      ELSE
         WRITE(NOUT,'('' ANALYSIS MODE IS NEITHER MASS AND WIND NOR'',
     &                '' HUMIDITY'',/,'' YMODE  ='',A)') YMODE
         CALL ENDRUN
         STOP
      ENDIF
 110  CONTINUE
      IOBTYP   =    NCCOF (NCFOTP)
      ICDTYP   =    IBITS (NCCOF (NCFICT),NOCDBP,NBITS (NOCDOC))
      IIDOLD   =    -99999
      IREPLN   =    NSHDOB - NLEVN (IOBTYP,ICASE )
      IPPP     =    -99999
      IPPOLD   =    -99999
      DO   5     JLOOP   =   NHEADR  ,NCCOF (NCFRLN)-1,NCFBLN
 120  CONTINUE
      IF(YMODE .EQ.'M&W')           THEN
         IF(NCCOF (JLOOP+NCFVNM).EQ.NVNUMB( 1))        THEN
            IDEPVN=NDPRVN( 1)
         ELSE IF(NCCOF (JLOOP+NCFVNM).EQ.NVNUMB( 2))   THEN
            IDEPVN=NDPRVN( 2)
         ELSE IF(NCCOF (JLOOP+NCFVNM).EQ.NVNUMB( 3))   THEN
            IDEPVN=NDPRVN( 3)
         ELSE IF(NCCOF (JLOOP+NCFVNM).EQ.NVNUMB( 4))   THEN
            IDEPVN=NDPRVN( 4)
         ELSE
            GO TO 5
         ENDIF
      ELSE
         IF(NCCOF (JLOOP+NCFVNM).EQ.NVNUMB( 5).OR.
     &      NCCOF (JLOOP+NCFVNM).EQ.NVNUMB( 6).OR.
     &      NCCOF (JLOOP+NCFVNM).EQ.NVNUMB( 7).OR.
     &      NCCOF (JLOOP+NCFVNM).EQ.NVNUMB(42).OR.
     &      NCCOF (JLOOP+NCFVNM).EQ.NVNUMB(43).OR.
     &      NCCOF (JLOOP+NCFVNM).EQ.NVNUMB(44)    )   THEN
            IDEPVN=NDPRVN( 5)
         ELSE
            GO TO 5
         ENDIF
      ENDIF
 2    CONTINUE
 210  CONTINUE
      IF(ZCCOF (JLOOP+NCFPPP).EQ.RMDI)                      GO TO 5
      IPPP     =    INT(ZCCOF (JLOOP+NCFPPP) / RFACT (NVAR  ( 1))
     &                  * (1.+EPSMAC) )
      KFLAG=IBITS (NCCOF (JLOOP+NCFFLG(NPDBWO)),NPDBBP,NBITS (NPDBOC))
      IPPPOB  =  IBITS (NCCOF (JLOOP+NCFPOB),NPPOBP,NBITS (NPPOOC))
      IF(IPPPOB.GE.NBITS (NPPOOC)) IPPPOB = NMDI
      KFLAGO  =  IBITS (NCCOF (JLOOP+NCFPOB),NPFOBP,NBITS (NPFOOC))
      IIDLEV=IBITS(NCCOF (JLOOP+NCFFLG(NINLWO)),NINLBP,NBITS (NINLOC))
 211  CONTINUE
      IF(IPPP  .EQ.IPPOLD)       THEN
         IF(LDEPVN(IDEPVN))                                GO TO 212
         IF(IIDLEV.NE.IIDOLD)                              GO TO 212
         GO TO 4
      ENDIF
      DO   2111  JE  =   1     ,      8
      IENTRY(JE)   = 1
 2111 CONTINUE
 212  CONTINUE
      IREPLN   =      IREPLN + NLEVN (IOBTYP,ICASE )
      IPPOLD   =      IPPP
      IIDOLD   =      IIDLEV
      DO   2121  JF  =   1   ,        5
      LDEPVN(JF)      =   .FALSE.
 2121 CONTINUE
 213  CONTINUE
      IF(IOBTYP.NE.NSYNOP)                         GO TO 214
      IPCODE =IBITS(NCCOF(JLOOP+NCFFLG(NCDPWO)),NCDPBP,NBITS (NCDPOC))
      IPOINT   =      IREPLN + NRDBWR(NVAR  ( 1),IOBTYP,ICASE )
      NSTST (IPOINT)  =  INSERT (NSTST(IPOINT),IPCODE,NPCDBP)
 214  CONTINUE
      IF(IOBTYP.EQ.NPILOT.AND.IPPPOB.EQ.NMDI)   THEN
         IFLAG  = 0
         IFL    = IBITS (KFLAG ,NCFBPS(4),NBITS (NCFBOC(4)))
         IHMSUB = IBITS (KFLAG ,NCFBPS(1),NBITS (NCFBOC(1)))
         IQCSUB = IBITS (KFLAG ,NCFBPS(2),NBITS (NCFBOC(2)))
         IFLAG  = IOR(IFL,
     &                IOR(ISHFT(IHMSUB,NCFBOC(4)),
     &                    ISHFT(IQCSUB,NCFBOC(4)+NCFBOC(1))))
         CALL OUTVAR(YMODE ,IREPLN,NVAR  ( 1),IOBTYP,IPPP,IFLAG,NSTST)
      ELSE
         IFLAG  = 0
         IFL    = IBITS (KFLAGO,NCFBPS(4),NBITS (NCFBOC(4)))
         IHMSUB = IBITS (KFLAGO,NCFBPS(1),NBITS (NCFBOC(1)))
         IQCSUB = IBITS (KFLAGO,NCFBPS(2),NBITS (NCFBOC(2)))
         IFLAG  = IOR(IFL,
     &                IOR(ISHFT(IHMSUB,NCFBOC(4)),
     &                    ISHFT(IQCSUB,NCFBOC(4)+NCFBOC(1))))
         CALL OUTVAR(YMODE ,IREPLN,NVAR  ( 1),IOBTYP,IPPPOB,IFLAG,NSTST)
      ENDIF
 220  CONTINUE
      IF(NANPOT(IOBTYP,ICASE ).EQ.0)                       GO TO 230
      KFLAG    = NMDI
      CALL OUTVAR(YMODE ,IREPLN,NVAR  ( 3),IOBTYP,IPPP  ,KFLAG,NSTST)
 230  CONTINUE
      IF(NPRLOT(IOBTYP,ICASE ).EQ.0)                       GO TO 3
      IF(ZCCOF (JLOOP+NCFPRL).EQ.RMDI)              THEN
         IPRL  = NMDI
      ELSE
         IPRL  = INT(ZCCOF (JLOOP+NCFPRL)/RFACT (NVAR  ( 2))
     &               * (1.+EPSMAC) )
      ENDIF
 231  CONTINUE
      KFLAG    = NMDI
      CALL OUTVAR(YMODE ,IREPLN,NVAR  ( 2),IOBTYP,IPRL  ,KFLAG,NSTST)
 3    CONTINUE
 310  CONTINUE
      IF(NTOT  (IOBTYP,ICASE ).EQ.0)                   GO TO 320
      IVARNO  =   NVNUMB( 8)
      IF(IOBTYP.EQ.NSYNOP.OR.IOBTYP.EQ.NDRIBU)  IVARNO = NVNUMB(10)
      IF(IOBTYP.EQ.NTEMP .AND.YMODE .EQ.'HUM'.AND.
     &   NCCOF (JLOOP+NCFVNM).EQ.NVNUMB( 7))  IVARNO = NVNUMB(10)
      IF(IOBTYP.EQ.NTEMP .AND.YMODE .EQ.'M&W')    THEN
         ISURFC = IBITS (IIDLEV,NLIDPT(7),NBITS (NLIDPO))
         IF(ISURFC.EQ.1)   IVARNO = NVNUMB(10)
      ENDIF
      CALL EXTVAR(YMODE,IOBTYP,IVARNO,ZCCOF (JLOOP+NCFPPP),
     &            ZCCOF (JLOOP+NCFPRL),IPPPOB,ZVAR,KFLAG,IENTRY(     1)
     &,           IIDLEV,JLOOP,NCCOF (JLOOP+NCFVNM),NCCOF,ZCCOF)
      IF(ZVAR.EQ.RMDI)           THEN
         IVAR =   NMDI
      ELSE
         IVAR =   INT(ZVAR*RFACT (NVAR  ( 6)))
         IENTRY( 1)  =   IENTRY( 1) + 1
      ENDIF
      CALL OUTVAR(YMODE ,IREPLN,NVAR  ( 6),IOBTYP,IVAR  ,KFLAG,NSTST)
 320  CONTINUE
      IF(NTDOT (IOBTYP,ICASE ).EQ.0)                   GO TO 330
      IVARNO = NVNUMB( 9)
      IF(IOBTYP.EQ.NSYNOP.OR.IOBTYP.EQ.NDRIBU)  IVARNO = NVNUMB(11)
      IF(IOBTYP.EQ.NTEMP .AND.YMODE .EQ.'HUM'.AND.
     &   NCCOF (JLOOP+NCFVNM).EQ.NVNUMB( 7))  IVARNO = NVNUMB(11)
      IF(IOBTYP.EQ.NTEMP .AND.YMODE .EQ.'M&W')    THEN
         ISURFC = IBITS (IIDLEV,NLIDPT(7),NBITS (NLIDPO))
         IF(ISURFC.EQ.1)   IVARNO = NVNUMB(11)
      ENDIF
      CALL EXTVAR(YMODE,IOBTYP,IVARNO,ZCCOF (JLOOP+NCFPPP),
     &            ZCCOF (JLOOP+NCFPRL),IPPPOB,ZVAR,KFLAG,IENTRY(     2)
     &,           IIDLEV,JLOOP,NCCOF (JLOOP+NCFVNM),NCCOF,ZCCOF)
      IF(ZVAR.EQ.RMDI)              THEN
         IVAR =  NMDI
      ELSE
         IVAR =   INT(ZVAR*RFACT (NVAR  ( 7)))
         IENTRY( 2)  =   IENTRY( 2) + 1
      ENDIF
      CALL OUTVAR(YMODE ,IREPLN,NVAR  ( 7),IOBTYP,IVAR  ,KFLAG,NSTST)
 330  CONTINUE
      IF(NZOT (IOBTYP,ICASE ).EQ.0)                     GO TO 340
      CALL EXTVAR(YMODE,IOBTYP,NVNUMB( 3),ZCCOF (JLOOP+NCFPPP),
     &            ZCCOF (JLOOP+NCFPRL),IPPPOB,ZVAR,KFLAG,IENTRY(     3)
     &,           IIDLEV,JLOOP,NCCOF (JLOOP+NCFVNM),NCCOF,ZCCOF)
      IF(ZVAR.EQ.RMDI)              THEN
         IVAR =  NMDI
      ELSE
         IADD        =   1000
         IF(IOBTYP.EQ.NSYNOP.OR.
     &      IOBTYP.EQ.NAIREP    )         IADD    =    0
         IVAR        =   INT(ZVAR  * RFACT (NVAR  ( 8))) + IADD
         IENTRY( 3)  =   IENTRY( 3) + 1
      ENDIF
      CALL OUTVAR(YMODE ,IREPLN,NVAR  ( 8),IOBTYP,IVAR  ,KFLAG,NSTST)
 340  CONTINUE
      IF(NQOT  (IOBTYP,ICASE ).EQ.0)                      GO TO 350
      CALL EXTVAR(YMODE,IOBTYP,NVNUMB( 6),ZCCOF (JLOOP+NCFPPP),
     &            ZCCOF (JLOOP+NCFPRL),IPPPOB,ZVAR,KFLAG,IENTRY(     4)
     &,           IIDLEV,JLOOP,NCCOF (JLOOP+NCFVNM),NCCOF,ZCCOF)
      IF(ZVAR.EQ.RMDI)              THEN
         IVAR =  NMDI
      ELSE
         IVAR =   INT(ZVAR*RFACT (NVAR  (10)))
         IENTRY( 4)  =   IENTRY( 4) + 1
      ENDIF
      CALL OUTVAR(YMODE ,IREPLN,NVAR  (10),IOBTYP,IVAR  ,KFLAG,NSTST)
 350  CONTINUE
      IF(NDDOT (IOBTYP,ICASE ).EQ.0.OR.
     &   NFFOT (IOBTYP,ICASE ).EQ.0    )                 GO TO 360
      CALL EXTVAR(YMODE,IOBTYP,NVNUMB( 1),ZCCOF (JLOOP+NCFPPP),
     &            ZCCOF (JLOOP+NCFPRL),IPPPOB,ZU  ,KFLAG1,IENTRY(     5)
     &,           IIDLEV,JLOOP,NCCOF (JLOOP+NCFVNM),NCCOF,ZCCOF)
      CALL EXTVAR(YMODE,IOBTYP,NVNUMB( 2),ZCCOF (JLOOP+NCFPPP),
     &            ZCCOF (JLOOP+NCFPRL),IPPPOB,ZV  ,KFLAG2,IENTRY(     5)
     &,           IIDLEV,JLOOP,NCCOF (JLOOP+NCFVNM),NCCOF,ZCCOF)
 351  CONTINUE
      IF(ZU    .EQ.RMDI.OR.ZV    .EQ.RMDI)        THEN
         IFF     =    NMDI
         IFLAGF  =    NMDI
      ELSE
         IFF     =    INT(SQRT(ZU*ZU + ZV*ZV) + 0.5)
         IFLAGF  =    IOR(KFLAG1,KFLAG2)
         IENTRY( 5)  =   IENTRY( 5) + 1
      ENDIF
 352  CONTINUE
      IF(IFF   .EQ.NMDI)        THEN
         IDD     =    NMDI
         IFLAGD  =    NMDI
         GO TO 354
      ELSE IF(IFF  .EQ.0)       THEN
         IDD     =    0
         IFLAGD  =    IOR(KFLAG1,KFLAG2)
         GO TO 354
      ELSE IF(ZU   .LE.0.0001.AND.ZU    .GE.-0.0001) THEN
         IDD     =    360
         IF(ZV    .GT.0.)       IDD  =  180
         IFLAGD  =    IOR(KFLAG1,KFLAG2)
         GO TO 354
      ELSE IF(ZV   .LE.0.0001.AND.ZV    .GE.-0.0001) THEN
         IDD     =  90
         IF(ZU    .GT.0.)       IDD  =  270
         IFLAGD  =    IOR(KFLAG1,KFLAG2)
         GO TO 354
      ENDIF
 353  CONTINUE
      IDDD    =    INT(ATAN(ABS(ZV)/ABS(ZU))*(1./RDIANS)+0.5)
      IF(ZU    .LT.  0..AND.ZV    .GE.  0.)  IDDD= 180 - IDDD
      IF(ZU    .LT.  0..AND.ZV    .LT.  0.)  IDDD= 180 + IDDD
      IF(ZU    .GE.  0..AND.ZV    .LT.  0.)  IDDD= 360 - IDDD
      IF(IDDD  .GE.  0 .AND.IDDD  .LE. 90 )  IDD = 270 - IDDD
      IF(IDDD  .GT. 90 .AND.IDDD  .LE.180 )  IDD = (180-IDDD) + 90
      IF(IDDD  .GT.180 .AND.IDDD  .LE.270 )  IDD = 270 - IDDD
      IF(IDDD  .GT.270 .AND.IDDD  .LE.360 )  IDD = 270 + (360-IDDD)
      IFLAGD  =    IOR(KFLAG1,KFLAG2)
 354  CONTINUE
      CALL OUTVAR(YMODE ,IREPLN,NVAR  ( 4),IOBTYP,IDD   ,IFLAGD,NSTST)
      CALL OUTVAR(YMODE ,IREPLN,NVAR  ( 5),IOBTYP,IFF   ,IFLAGF,NSTST)
 360  CONTINUE
      IF(NDZOT (IOBTYP,ICASE ).EQ.0)                    GO TO 370
      CALL EXTVAR(YMODE,IOBTYP,NVNUMB( 4),ZCCOF (JLOOP+NCFPPP),
     &            ZCCOF (JLOOP+NCFPRL),IPPPOB,ZVAR,KFLAG,IENTRY(     6)
     &,           IIDLEV,JLOOP,NCCOF (JLOOP+NCFVNM),NCCOF,ZCCOF)
      IF(ZVAR  .EQ.RMDI)         THEN
         IVAR  =  NMDI
      ELSE
         IVAR  =  INT(ZVAR*RFACT (NVAR  ( 9)))
         IENTRY( 6)  =   IENTRY( 6) + 1
      ENDIF
      CALL OUTVAR(YMODE ,IREPLN,NVAR  ( 9),IOBTYP,IVAR  ,KFLAG,NSTST)
 370  CONTINUE
      IF(NWWOT (IOBTYP,ICASE ).EQ.0)                    GO TO 380
      CALL EXTVAR(YMODE,IOBTYP,NVNUMB(15),ZCCOF (JLOOP+NCFPPP),
     &            ZCCOF (JLOOP+NCFPRL),IPPPOB,ZVAR,KFLAG,IENTRY(     7)
     &,           IIDLEV,JLOOP,NCCOF (JLOOP+NCFVNM),NCCOF,ZCCOF)
      IF(ZVAR  .EQ.RMDI)         THEN
         IVAR  =  NMDI
      ELSE
         IVAR  =  INT(ZVAR*RFACT (NVAR  (11)))
         IENTRY( 7)  =   IENTRY( 7) + 1
      ENDIF
      CALL OUTVAR(YMODE ,IREPLN,NVAR  (11),IOBTYP,IVAR  ,KFLAG,NSTST)
 380  CONTINUE
      IF(NCLOT (IOBTYP,ICASE ).EQ.0)                    GO TO 4
      CALL EXTVAR(YMODE,IOBTYP,NVNUMB(41),ZCCOF (JLOOP+NCFPPP),
     &            ZCCOF (JLOOP+NCFPRL),IPPPOB,ZVAR,KFLAG,IENTRY(     8)
     &,           IIDLEV,JLOOP,NCCOF (JLOOP+NCFVNM),NCCOF,ZCCOF)
      IF(ZVAR  .EQ.RMDI)         THEN
         IVAR  =  NMDI
      ELSE
         IVAR  =  INT(ZVAR*RFACT (NVAR  (12)))
         IENTRY( 8)  =   IENTRY( 8) + 1
      ENDIF
      CALL OUTVAR(YMODE ,IREPLN,NVAR  (12),IOBTYP,IVAR  ,KFLAG,NSTST)
 4    CONTINUE
      CALL DEPART(YMODE ,JLOOP,IREPLN,IDEPVN,IOBTYP,ICDTYP,
     $            NCCOF,ZCCOF,NSTST)
      LDEPVN(IDEPVN)    =    .TRUE.
 410  CONTINUE
      IF(YMODE .EQ.'HUM')  THEN
         NSTST (IREPLN+NEMPWR(     1,IOBTYP)) = NMDI
         NSTST (IREPLN+NEMPWR(     2,IOBTYP)) = NMDI
      ENDIF
 5    CONTINUE
 510  CONTINUE
      IF(IREPLN.GE.NSHDOB)   IREPLN = IREPLN + NLEVN (IOBTYP,ICASE)
 520  CONTINUE
      IF(IREPLN.GT.NSHDOB)   CALL CHKEMP(YMODE,IREPLN,IOBTYP,NSTST)
 6    CONTINUE
      RETURN
      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]