File:  [Research Unix] / researchv10no / cmd / pfort / ERROR2.f
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:21:35 2018 UTC (8 years, 1 month ago) by root
Branches: belllabs, MAIN
CVS tags: researchv10, HEAD
researchv10 Norman

      SUBROUTINE ERROR2( I,  JJ, K, NN, SPBEF, SPAFT )
C
C     PRINTS ERROR MESSAGES AND SYMBOLIC NAME
C     I IS PACKED HOLLERITH STRING
C     JJ IS NUMBER OF CHARACTERS TO BE PRINTED ( N = JJ)
C     K CONTAINS INTEGER OR HOLLERITH INFO TO FOLLOW MESSAGE
C     NN CONTROLS TYPE OF LINE TO BE PRINTED
C
C     NN = 0 MEANS PRINT MESSAGE
C
C     NN < 0 MEANS IF JJ=0 NO MESSAGE, ELSE PRINT MESSAGE
C     ON NEXT LINE IF NN = -1 PRINT PGM UNIT AND/OR STMT NO
C     (CONTROLLED BY CONTENTS OF K).
C     ON NEXT LINE IF NN = -2 PRINT PARAMETER NUMBER IN K
C     NN = -3 USED FOR SPACING CONTROL IN LONG MESSAGES
C
C     NN > 0 MEANS PRINT MESSAGE FOLLOWED BY IDENTIFIER IN K
C     SPBEF, SPAFT CONTROL LINE SPACING BEFORE AND AFTER MESSAGE
C     IF = 1, BLANK LINE EMMITTED
C
      INTEGER I(1), J(80), OUTUT, PDSA, DSA, M(6), K(6), W
      INTEGER SPBEF, SPAFT
      LOGICAL OPT, P1ERR, P2, QBR
      COMMON /CTABL/ LDSA, PDSA, DSA(5000)
      COMMON /PARAMS/ INUT, OUTUT, NOCHAR, I1, I2, I3, I4
      COMMON /FACTS/ NAME, NOST, ITYP, IASF
      COMMON /OPTNS/ OPT(5), P1ERR
      COMMON /PASS/ P2, QBR
      DATA W /1HW/, KK /1H-/
C
C     ERROR IN P.U. DURING PROCESSING OF A HEADING STMT, SPECIFI STMT,
C     EQUIV STMT, OR DATA STMT CAUSES PASS 2 TO BE SUPPRESSED FOR THAT
C     P.U.
C
      IF (QBR) GOTO 45
      IF(SPBEF.EQ.1) WRITE(OUTUT, 99998)
      N = JJ
      IF (N.GT.72) N = 72
      J(2) = KK
      IF (N.GE.1) CALL S5UNPK(I, J, N)
      IF (ITYP.LT.14 .AND. J(2).NE.W) P1ERR = .TRUE.
      IF (NN) 50, 10, 30
C
C     NN=0
C
   10 CONTINUE
      WRITE (OUTUT,99997) (J(L),L=1,N)
      IF(P2 .OR. OPT(4)) GOTO 40
      CALL S5UNPK(DSA(NAME+4), J(1), 6)
      WRITE (OUTUT,99999) NOST, (J(L),L=1,6)
99999 FORMAT (16H *** AT STMT NO , I6, 13H IN PGM UNIT , 6A1)
99998 FORMAT(1H )
      GO TO 40
C
C     NN>0
C
   30 CONTINUE
      IF (N.GT.68) N = 68
      CALL S5UNPK(K, J(73), 6)
      WRITE (OUTUT,99997) (J(L),L=1,N), KK, KK, (J(L),L=73,78)
99997 FORMAT (4H ***, 76A1)
 40   IF(SPAFT.EQ.1) WRITE(OUTUT, 99998)
 45   RETURN
C
C     NN<0
C
   50 CONTINUE
      IF (N.GE.1) WRITE (OUTUT,99997) (J(L),L=1,N)
      IF( -2.EQ.NN ) GOTO 70
      IF( -3.EQ.NN ) GOTO 40
      CALL S5UNPK(DSA(NAME+4), M(1), 6)
C     WRITE OUT STMT NO AND/OR PGM UNIT
      IF (K(1).EQ.0) GO TO 60
      WRITE (OUTUT,99996) K(1), (M(L),L=1,6)
99996 FORMAT (16H *** AT STMT NO , I6, 1X, 13H IN PGM UNIT , 6A1)
      GO TO 40
   60 WRITE (OUTUT,99995) (M(L),L=1,6)
99995 FORMAT (17H *** IN PGM UNIT , 6A1)
      GO TO 40
C     WRITE OUT PARAMETER NO FOR PARAMETERLIST ERRORS
 70   WRITE(OUTUT,99994) K(1)
99994 FORMAT(22H *** PARAMETER NUMBER ,I6)
      GOTO 40
      END

unix.superglobalmegacorp.com

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