Annotation of researchv10no/cmd/pfort/CHKALL.f, revision 1.1

1.1     ! root        1:       SUBROUTINE CHKALL
        !             2: C
        !             3: C      CHKALL READS IN REFS FROM OUTUT4 AND CHECKS THEM
        !             4: C      EXPANDS ALL INDIRECTS AND CHECKS THEM, IF ALL OK
        !             5: C      WRITES THE EXPANDED VERSION OUT ON OUTUT3
        !             6: C     TEMPLATE WRITTEN OUT CONSISTS OF
        !             7: C     PREF - NO OF WORDS TO FOLLOW
        !             8: C     IBR - CODE .LT.3 TO SHOW OK REF
        !             9: C     REF(1) - 2*NO OF ARGS
        !            10: C     IJR - LAT INDEX OF CALLED P.U.
        !            11: C     REF(3) - STMT NO OF REF
        !            12: C     REF(4) - CODE 0-SUBR, 1-FCN
        !            13: C     REF(5 -) - ARG ENTRIES
        !            14: C      FOR DIRECT REFS  IF OK WRITES THE DIRECT REF OUT ON OUTUT3
        !            15: C      CHKALL WRITES END OF REFS ON OUTUT3 BEFORE RETURNING
        !            16: C
        !            17:       INTEGER OUTUT3, OUTUT4, DSA, PDSA, REF, PREF, PLAT, SYMLEN, FINDND
        !            18:       INTEGER CHK1, CHK2
        !            19:       LOGICAL ERR, SYSERR, ABORT, QP2, QBR
        !            20:       COMMON /PARAMS/ I1, I2, I3, SYMLEN, I4, OUTUT3, OUTUT4
        !            21:       COMMON /CTABL/ LDSA, PDSA, DSA(5000)
        !            22:       COMMON /CREF/ LREF, PREF, REF(100)
        !            23:       COMMON /GRAPH/ LLAT, PLAT, LAT(6000)
        !            24:       COMMON /DETECT/ ERR, SYSERR, ABORT
        !            25:       COMMON /FACTS/ NAME, NOST, ITYP, IASF
        !            26:       COMMON /PASS/ QP2, QBR
        !            27:       DATA IBR /1/, JBR /3/
        !            28: C      IJK IS CALLING PGM UNIT; IJR IS PGM UNIT CALLED
        !            29:       IJK = FINDND(DSA(NAME+4),L1)
        !            30:    10 IF (INREF(OUTUT4)) 20, 20, 30
        !            31: C      WRITE END OF REFS AND RETURN
        !            32:    20 WRITE (OUTUT3) IBR, JBR, IBR
        !            33:       QBR = .FALSE.
        !            34:       RETURN
        !            35: C      CHECK IF REF INDIRECT OR DIRECT
        !            36:    30 IF (IGATT1(REF(2),4).EQ.1) GO TO 40
        !            37: C      HAVE A DIRECT REF
        !            38:       IJR = REF(2)
        !            39:       IJR = FINDND(DSA(IJR+4),L1)
        !            40:       IBAR = CHK2(IJK,IJR)
        !            41:       IF (SYSERR) GO TO 20
        !            42:       IF (IBAR.EQ.1) WRITE (OUTUT3) PREF, IBR, REF(1), IJR,
        !            43:      *    (REF(L),L=3,PREF)
        !            44:       GO TO 10
        !            45: C      HAVE AN INDIRECT REF
        !            46:    40 K = IJK + SYMLEN + 5
        !            47:       K = LAT(K)
        !            48: C      NOTE HAVE FLAGGED THIS ERROR OF NO ACTUALS AT LAT(IM)
        !            49: C      BEFORE IN PROC SO NOW SKIP OVER REF
        !            50:       IF (K.EQ.0) GO TO 10
        !            51: C      K POINTS TO ACTUALS TEMPLATE AT CALLING PGM
        !            52:       L = REF(2)
        !            53:       L = DSA(L+2)
        !            54:       J = IJK + SYMLEN + 1
        !            55:       J = LAT(J)
        !            56:       IF (L.LE.1) GO TO 60
        !            57:       DO 50 LL=2,L
        !            58:         J = LAT(J+3)
        !            59:    50 CONTINUE
        !            60:    60 L = LAT(J+1)
        !            61: C      L IS OFFSET IN ACTUALS TEMPLATE OF ACTUALS
        !            62: C      CORRESP TO THIS DUMMY
        !            63:    70 J = K + L
        !            64:       IJR = LAT(J)
        !            65:       QBR = .TRUE.
        !            66:       IF (CHK1(IJK,IJR).NE.1) GO TO 80
        !            67:       IBAR = CHK2(IJK,IJR)
        !            68:       IF (SYSERR) GO TO 20
        !            69:       IF (IBAR.EQ.1) WRITE (OUTUT3) PREF, IBR, REF(1), IJR,
        !            70:      *    (REF(L),L=3,PREF)
        !            71:    80 QBR = .FALSE.
        !            72:       K = LAT(K) + K
        !            73:       K = LAT(K)
        !            74:       IF (K) 10, 10, 70
        !            75:       END

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.