|
|
1.1 ! root 1: SUBROUTINE MKCOM(PP, K) ! 2: INTEGER PLAT, PDSA, FINDCM, DSA, SYMLEN, PP, PCOM, COM ! 3: LOGICAL SYSERR, ERR, ABORT ! 4: COMMON /GRAPH/ LLAT, PLAT, LAT(6000) ! 5: COMMON /COMS/ LCOM, PCOM, COM(300) ! 6: COMMON /CTABL/ LDSA, PDSA, DSA(5000) ! 7: COMMON /DETECT/ ERR, SYSERR, ABORT ! 8: COMMON /PARAMS/ INUT, I1, NOCHAR, SYMLEN, I2, I3, I4 ! 9: C ! 10: C WANT TO MARK COMMONLIST ENTRY SET FOR SUBPGM PP; MAY HAVE TO ! 11: C CREATE ENTRY ! 12: C ! 13: N = FINDCM(DSA(K+4)) ! 14: L = SYMLEN + 2 + PP ! 15: KK = -K ! 16: IF (N.NE.0) KK = N ! 17: C ! 18: C LOOK FOR DSA ENTRY ON LIST ! 19: C ! 20: I = MATCH(LAT(L),2,KK) ! 21: IF (I) 30, 30, 10 ! 22: 10 LAT(I+1) = 1 ! 23: 20 RETURN ! 24: C ! 25: C CREATE NEW ENTRY ! 26: C ! 27: 30 IF (PLAT+3.GT.LLAT) GO TO 40 ! 28: LAT(PLAT+1) = 1 ! 29: LAT(PLAT+2) = LAT(L) ! 30: LAT(L) = PLAT ! 31: LAT(PLAT) = KK ! 32: PLAT = PLAT + 3 ! 33: GO TO 20 ! 34: 40 SYSERR = .TRUE. ! 35: CALL ERROR1(32H IN MKCOM, TABLE OVERFLOW OF LAT, 32) ! 36: GO TO 20 ! 37: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.