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

1.1     ! root        1:       SUBROUTINE CHK3(IDUM, IACT, IDUM8, IACT8, IE, R, NO)
        !             2: C
        !             3: C     CHECKS PROC ARGUMENTS FOR PROPER USAGE AND TYPE
        !             4: C     IDUM LAT INDEX DUMY PROC ARG
        !             5: C     IACT LAT INDEX ACTUAL PROC
        !             6: C     IDUM8 USAGE DUMMY FROM DSA ATTRIBUTES
        !             7: C     IACT8 USAGE ACTUAL FROM LAT ENTRY
        !             8: C     IE CALLED RTNE
        !             9: C     R STMT NO OF CALL
        !            10: C     NO CONTAINS THE NUMBER OF PARAMETER BEING CHECKED BY THIS CALL
        !            11: C
        !            12:       INTEGER PLAT, R(1), SYMLEN, NO(1)
        !            13:       COMMON /PARAMS/ I1, I2, I3, SYMLEN, I4, I5, I6
        !            14:       COMMON /GRAPH/ LLAT, PLAT, LAT(6000)
        !            15: C     SEPARATE OUT EXTERNAL ENTITIES
        !            16:       IF (IDUM8.NE.13) GO TO 20
        !            17:       L = IGATT2(IDUM,1)/8
        !            18:       IF (L.NE.1) GO TO 50
        !            19: C     FURTHER CHECK THAT EPLICITLY TYPED EXTERNAL ENTITIES
        !            20: C     MATCH FCNS
        !            21:       IF (IACT8.NE.1 .AND. IACT8.NE.6) GO TO 30
        !            22: C     CHECK FCN HAS SAME TYPE ACROSS REF BNDRY
        !            23:    10 L = IACT + SYMLEN + 6
        !            24:       IF (MOD(IGATT2(IDUM,1),8).EQ.LAT(L)/8) GO TO 50
        !            25:       CALL ERROR2(40H INCONSISTENT FCN TYPES IN REFERENCE TO , 40,
        !            26:      *  LAT(IE), 1, 1, 0)
        !            27:       CALL ERROR2(1H1, 0, R(1), -1, 0, 1)
        !            28:       GO TO 50
        !            29: C     CHECK SUBROUTINES
        !            30:    20 IF (IDUM8.EQ.6 .AND. IACT8.EQ.0) GO TO 50
        !            31: C     CHECK OUT FCNS
        !            32:       IF (IDUM8.EQ.5 .AND. IACT8.EQ.1) GO TO 10
        !            33: C     SEPARATE OUT BASIC EXTERNALS BECAUSE THEY ARE CONSIDERED
        !            34: C     TYPED BY THE FORTRAN.
        !            35:       IF (IDUM8.EQ.5 .AND. IACT8.EQ.6) GO TO 40
        !            36:    30 CALL ERROR2(
        !            37:      *  50H INCOMPATIBLE PROCEDURE PARAMETER ASSOCIATED WITH ,50,
        !            38:      *  NO, -2, 1, 0)
        !            39:       CALL ERROR2(17H IN REFERENCE TO ,17, LAT(IE), 1, 0, 0)
        !            40:       CALL ERROR2(1H1, 0, R(1), -1, 0, 1)
        !            41:       GO TO 50
        !            42: C     CHECK BASIC EXTER HAS NOT BEEN EXPLICITLY TYPED
        !            43: C     OR ELSE IT HAS TO AGREE WITH THE ACTUAL TYPE
        !            44:    40 L = IACT + SYMLEN + 6
        !            45:       IF (LAT(L)/8.EQ.1) GO TO 10
        !            46:    50 RETURN
        !            47:       END

unix.superglobalmegacorp.com

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