* * $Id: traceqr.F,v 1.1.1.1 1996/02/15 17:51:38 mclareni Exp $ * * $Log: traceqr.F,v $ * Revision 1.1.1.1 1996/02/15 17:51:38 mclareni * Kernlib * * #include "sys/CERNLIB_machine.h" #include "pilot.h" SUBROUTINE TRACEQR (LUNP,NP) C CERN PROGLIB# N106 TRACEQR .VERSION KERNCDC 1.13 820111 C- THIS SUBROUTINE IS DERIVED FROM TRACEQ C- IF JCODE=0 IN /EXCHJPK/ IT PRINTS THE NORMAL TRACE-BACK AS TRACEQ C- IF JCODE.NE.0 IT TRIES TO FIND AND PRINT THE TRACE-BACK LEADING C- TO A REPRIEVED HARDWARE CONDITION. C- FOR HARDWARE REPRIEVAL IT WORKS IN CONJUNCTION WITH REPINIT/REPOK C- FOR STARTING THE TRACE-BACK IT RELIES ON TRAC0Q. COMMON /SLATE/ NAME,LINE,LADR,LOK,LWK(36) A6M COMMON /EXCHPAK/JCONDT,JCODE,LREP,AB(8),X(8),PARITY,USER #if !defined(CERNLIB_F77) DATA LUNDEF /6LOUTPUT / #endif #if defined(CERNLIB_F77) DATA LUNDEF /L"OUTPUT"/ #endif LUN = LUNP N = NP IF (LUN.EQ.0) LUN=LUNDEF CDC IF (JCODE.EQ.0) GO TO 21 C---- NON-LIBRARY ERROR, FIND POSSIBLE TRACE-BACK CALL TRAC0Q IF (LOK.EQ.0) GO TO 16 IF (LADR.LT.0) GO TO 21 WRITE (LUN,9012) LADR GO TO 21 16 WRITE (LUN,9016) LADR,NAME,LINE,LWK(2) GO TO 24 C---- NORMAL FORTRAN-LIBRARY ERROR 21 WRITE (LUN,9021) LINE= 0 LOK = 0 CALL TRAC1Q 24 N = N-1 CALL TRAC2Q IF (LOK) 31,25,99 25 WRITE (LUN,9025) NAME,LINE,LADR IF (N.GT.0) GO TO 24 RETURN 31 WRITE (LUN,9031) LADR 99 RETURN 9012 FORMAT (36H0TRACEQR FINDS NO TRACE BACK FOR P= ,O6) 9016 FORMAT (45H0TRACEQR SUGGESTS POSSIBLE TRACE BACK FOR P= ,O6/ +13H ASSUMED IN ,A7,21H ENTRY/EXIT LINE AT ,O6, +17H, TRACE-WORD AT ,O6) 9021 FORMAT (8H0TRACEQR) 9025 FORMAT (13H CALLED FROM ,A7,6H LINE,I5,15H AT LOCATION ,O6) 9031 FORMAT (46H ****** TRACE ENDS BADLY ****** AT LOCATION ,O6) END