mccalpin@masig3.ocean.fsu.edu (John D. McCalpin) (08/14/89)
The following code section does not compile on the Personal IRIS. It appears to be standard FORTRAN --- it comes from TOOLPACK, which is supposed to be very standard. It compiles just fine on the IRIS 3000 and on both Sun 3 and Sun 4's. The compiler error message is not helpful: Syntax error on line 15 ---- (This line contains the DATA statement) Replacing the 'F' and 'T' variables with .FALSE. and .TRUE. does not help, leading me to believe that the implied DO-loops are causing the trouble.... ---------------------------------------------------------------------------- SUBROUTINE CIITEM(NODE,OCCURS,STYPE,STATUS,INTFIL) INTEGER MAXL,NCII,CIIFIL,CIIERR PARAMETER (MAXL=11,NCII=21,CIIFIL=7,CIIERR=5) LOGICAL T,F PARAMETER (T=.TRUE.,F=.FALSE.) INTEGER PTR,TEXT(134),CIINUM,TYPCHK,CIITYP(NCII),I, + NTYPE,DTYPE,SYMBOL(8),SSTYPE(132) LOGICAL CIIAST(NCII),CIIVAR(NCII),CIISTY(8,NCII) CHARACTER*(MAXL) CIINAM,CIILST(NCII) SAVE CIILST,CIITYP,CIIAST,CIIVAR,CIISTY,SSTYPE DATA (CIILST(I),CIIAST(I),CIITYP(I),CIIVAR(I), + (CIISTY(J,I),J=1,8),I=19,NCII)/ +'STATUS',F,6,F,F,F,T,T,F,F,F,F, +'UNFORMATTED',F,6,T,F,F,F,F,T,F,F,F, +'UNIT',T,0,F,T,T,T,T,T,T,T,T/ END ---------------------------------------------------------------------------- -- John D. McCalpin - mccalpin@masig1.ocean.fsu.edu - mccalpin@nu.cs.fsu.edu mccalpin@delocn.udel.edu
calvin@dinkum.wpd.sgi.com (Calvin H. Vu) (08/16/89)
In article <MCCALPIN.89Aug14071609@masig3.ocean.fsu.edu>, mccalpin@masig3.ocean.fsu.edu (John D. McCalpin) writes: > The following code section does not compile on the Personal IRIS. > Replacing the 'F' and 'T' variables with .FALSE. and .TRUE. does not > help, leading me to believe that the implied DO-loops are causing the > trouble.... > ---------------------------------------------------------------------------- > SUBROUTINE CIITEM(NODE,OCCURS,STYPE,STATUS,INTFIL) > INTEGER MAXL,NCII,CIIFIL,CIIERR > PARAMETER (MAXL=11,NCII=21,CIIFIL=7,CIIERR=5) > > LOGICAL T,F > PARAMETER (T=.TRUE.,F=.FALSE.) > > INTEGER PTR,TEXT(134),CIINUM,TYPCHK,CIITYP(NCII),I, > + NTYPE,DTYPE,SYMBOL(8),SSTYPE(132) > LOGICAL CIIAST(NCII),CIIVAR(NCII),CIISTY(8,NCII) > CHARACTER*(MAXL) CIINAM,CIILST(NCII) > > SAVE CIILST,CIITYP,CIIAST,CIIVAR,CIISTY,SSTYPE > > DATA (CIILST(I),CIIAST(I),CIITYP(I),CIIVAR(I), > + (CIISTY(J,I),J=1,8),I=19,NCII)/ > +'STATUS',F,6,F,F,F,T,T,F,F,F,F, > +'UNFORMATTED',F,6,T,F,F,F,F,T,F,F,F, > +'UNIT',T,0,F,T,T,T,T,T,T,T,T/ > > END The problem is in the nested implied do loop. We fixed this bug as early as May last year and sent the fix to MIPS. Unfortunately, when integrating MIPS 1.31 release, I opted for MIPS's own fix to this problem (for source compatibility) which, I found out later, only worked if the nested implied do loop is at the beginning of the implied do loop list, and not if it follows other items in the list. In other words, your DATA statement will compile correctly if CIISTY is at the beginning of the list (or stand alone in a separate DATA statement). Oh well, you know the workaround then :-). Anyway, this has been fixed in our 3.2 release which will be coming out soon, I hope. > ---------------------------------------------------------------------------- > -- > John D. McCalpin - mccalpin@masig1.ocean.fsu.edu - mccalpin@nu.cs.fsu.edu > mccalpin@delocn.udel.edu Calvin Vu