*COMDECK HISTORY                                                             000L397     ***
 SMP0044   CHARACTER TO CONSTANT COMPARISION REQUIRES 60-BIT COMPARE
           SMW     74/12/06   EXPGEN
L401     ***
 SMP0034   TO GENERATE ACCEPTABLE CODE AND STOP COMPILER ABORTING 
           FROM ARRAY ITEM REFERENCES MADE WITHOUT SUBSCRIPTS 
           LEM    1/27/75    PF13 
SMP0045   ADD DECK SYS= TO SCOPE 2 LIBRARY SYMIO- LEAVE SCOPE 3.4 
          AND KRONOS ALONE
          SMW    2/13/75     SYSEQAL
SMP0050   UNDECLARED FORMAL PARAMETERS MUST GO ON LABELS CHAIN AND THIER
          DUMYS LINKED OUT AT END OF SCOPE
          SMW    75/01/24    PF13,PF12,PF1SUB 
 SMP0051  LONG STRING TRANSFERS WITH RHS OF INT CONST. NEED TO LOOK 
          FOR FAST REPLACEMENT FLAG 
          SMW    75/01/24    REPRC
SMP0055   BASED / PARAM ITEM  OF 18 BITS USED AS SUBSCRIPTS DONT GET
          SIGN EXTENSION - FIX THEREFORE
          SMW    01/31/75   LOAD
  
 SMP0056
                   T-OPTION HANDLED INCORRECTLY.  CORRECT BY: 
                       RETURNING IL AT TERM IF T OPTION ON, AND 
                       TURNING B-O-X-R OPTIONS OFF IF T ON. 
  
                   DECKS:  INIT13, INIT31, CONCARD. 
  
                   RON ELDRIDGE  1/27/75
  
  
 SMP0057
                   RETURN ZZZZZPS (PRE-SET FILE) ON COMPILER ABORT. 
  
               DECK:  INIT15. 
  
                   RON ELDRIDGE     1/27/75 
 SMP0058  DISALLOW MULTIPLE OUTPUT LFNS.  ABORT WITH CONTROL- 
          CARD PARAMETER ERROR IF FOR EXAMPLE,  L=A,X=B.
          MODIFIES:  CONCARD. 
          RON ELDRIDGE     FEB 13,1975
 SMP0060  YET ANOTHER INT TO CHAR CONVERSION ON CONSTANTS 
          SMW    02/XX/75    REPRC
SMP0061   SUPPRESS INTERNAL MACRO PARAM NAMES FROM X-REF LIST 
         SMW     02/24/75    CRFLST 
SMP0063   DONT OUTPUT ZERO LENGTH RECORDS ONTO PRESET FILE - CRM DOSNT
          LIKE THEM 
          SMW    75/02/18    PF12 
L406     ***
SY4CPRT   CLAIM CDC COPYRIGHT 
SMP0027   BAD LIMIT IN FOR LOOP CAUSED COMPILER ABORT 11
          SMW    04/14/75    PF13 
SMP0033   FIX ERROR RECOVERY ON MISSING TERM ERROR 86 
          SMW    04/16/75    PF12 
SMP0046   FIX DUPLICATE TERM PROBLEM
         SMW     04/16/75    CONTROL,INIT31,HISTORY 
 SMP0059  CHAR BEAD ON INTEGER ITEM GENERATES BIT-BEAD INSTEAD. 
  
          DECKS MODIFIED:  KKCW 
  
          RON ELDRIDGE       3-10-75
SMP0065   ABS OF A CHARACTER
          SMW    03/04/75    PF13 
SMP0066   SCOPE 2 VERSION WILL GENERATE CODE FOR SCOPE 2 OR 3.4/KRONOS
          DEPENDANT ON FILE CARD OF LGO 
          SMW    03/08/75    CONCARD,INIT40 
SMP0066A  FIX REGRESSION IN SMP0066 WHEREBY FLAG FILETYP WAS IN OVERLAY 
          4,0 RATHER THAN MAIN
          SMW    06/10/75    INIT40,CONCARD 
SMP0068   OUTPUT DIAG FOR CHAR ARRAY ITEM LENGTH GR 240 
          SMW    03/07/75    PF12 
SMP0070   SCHEDULER GETS CONFUSED BETWEEN OFFS LOAD AT ICFT [0] AND A 
          ZERO OFFSET - SITUATION CAN ONLY OCCUR IN W-OPTION MODE 
          SMW    03/13/75    CODGK1 
 SMP0071  PROBLEMS WITH FUNCTION OF A FUNCTION
          THE REAL PROBLEM WAS THAT SYMPL DID NOT HANDLE PARAMETER
          LISTS WITH EMBEDDED EXPRESSIONS PROPERLY.  THIS FIX 
          CORRECTS THE PROBLEM BY SPECIAL CASING ACTUAL EXPRESSIONS.
          LEM    3/18/75     SAVESV 
 SMP0073  ASSIGNMENT OF A CHAR BEAD TO A FUNC 
          FAILS IF NUMBER CHARS > 10. 
  
          RPE    3-19-75            SYMBYT,LOAD.
SMP0074   FIX UP SYMPL FOR NEW SCOPE 2 LOADER 
          SMW    04/16/75    CONCARD,CONTROL
 SMP0077  WITHOUT THIS CORRECTIVE CODE, A LABEL REFERENCED ONLY AS AN 
          ACTUAL PARAMETER WILL NOT CAUSE A FORCE UPPER AT THE LABEL
          THE PROBLEM WAS THAT LREF WAS NOT GETTING PROPERLY UPDATED
          ON FORWARDLY REFERENCED LABELS
          SMW    3/25/75     PF11,PF12,P1SUB
 SMP0078  USING B=LGO ALWAYS, INSTEAD OF B=LFN. 
  
          RPE    3-27-75        INIT40. 
  
SMP0080   BAD WHILE EXPRESSION IN FOR LOOP GIVES COMPILER ABORT 11
          SMW    04/14/75    PF13 
SMP0081   FIX BYTE TO BYTE FAST REPLACEMENTS -
          WHEN NOT BYTE ALIGNED OR ON REAL NOS
          SMW    04/17/75    SYMBYT,PHASBS,DPOSIT 
SMP0082   INTEGER CONSTANT TO CHAR FIELD FOILED AGAIN 
          SMW    04/22/75    REPRC
 *L410*   **************************************************************
SMP0010   STOP COMPILER GIVING ERROR 707 ON SWITCH AFTER $BEGIN - $END
          CODE WHEN E OPTION NOT PRESENT
          SMW    06/10/75    PF12 
SMP0085   FIX BAD CODE JUMPING TO UNSET SWITCH ELEMENTS 
          SMW    05/09/75    PF13 
SMP0086   FIX ENTRY FUNC RETURN VALUE WHEN FUNC IS LONG CHARACTER 
         SMW     05/12/75    CODGJ3 
SMP0087   DONT OUTPUT 145 DIAGNOSTIC IF ARRAY IS ONLY 1 ELEMENT LONG
          SMW    05/14/75    PF13 
SMP0089   CONSTANT INTEGER EXPONENTIATION OF 2 TO POWER GQ 48 GAVE
          COMPILE ABORT 
          SMW    05/20/75    CONSAM 
SMP0091   MAKE MACRO CALLS RECURSIVE
          SMW    05/27/75     PF11,SPRECG,INIT16,SYM66P,INITS 
SMP0093   CHECK LEGALLITY OF ARRAY ITEM FBIT WHEN NO NBIT DECLARED
          SMW    06/09/75    PF12 
SMP0095  FIX CHAR TO CHAR ASSIGNMENT WHEN SINK AND SOURCE LESS ONE WORD 
          AND ONLY SOURCE CROSSES A WORD BOUNDARY 
          SMW    06/19/75    REPRC
 SMP0101  REINSERT LIST -L IN SYSMACS SO THAT COMPASS DOESNT GO IGNORING
          THE MACRO STATEMENT FOR LOAD - IN RESPONCE TO COMPASS PSR 
          CPS106
          SMW    07/22/75    SYSMACS
 CP139SY  FIX UP SYMPL FOR NEW LOADER TABLES I.E. THOSE 54 TABLES 
          WE WILL CONTINUE TO ACCEPT PREVIOUS OVERLAY TABLES - JUST HOPE
          THAT WORD 100 TELLS US 54 OR NOT
          SMW    08/28/75    CONCARD.CONTROL
 SMP0091A FIX REGRESSION IN SMP0091 WHEREBY CONDITIONAL COMPILATION 
          WITHIN MACROS WOULD NOT RESET MACRO PARAM STACK POINTER 
          SMW    07/29/75    SPRECG 
 SMP0088  FIX SCHEDULER RELOAD OF DROPPED LOADS WITH STORES IN SAME 
          SUBSEQUENCE 
          SMW    07/18/75    CODGK1,CODGK2,CODGJ2 
          LEM    3/23/76     CODGJ2A  (PUT IT IN SYMPL 1.2) 
 *L414*   **************************************************************
* 
* 
 SMP0011  CHECK FOR OVERFLOW OF CONSTRUCT TABLES WHEN USER PRESENTS 
          JUNK SOURCE 
          SMW    08/11/75    SPRECG,PF11
 SMP0097  ARITHMETIC OPERATOR  LNO  WAS ACCEPTED BY PASS ONE WITH TWO 
          OPERANDS - MUCH TO THE CONSTERNATION OF CODE GEN 1 WHICH WOULD
          GIVE COMPILER ABORT 706 WHEN EVER IT SAW A TWO OPERAND LNO
          SMW    07/11/75    PF13 
 SMP0099  LAN OF 2 CHARACTER ITEMS GENERATED BAD CODE  -- REGRESSION IN 
          VERSION 1.1 
          SMW    07/16/75    EXPGEN 
 SMP0100  FURTHER PROBLEMS WITH INT TO CHAR CONVERTION WHEN INT IF LESS 
          THAN 6 BITS LONG AND TOP BIT ALIGNED
          SMW    07/16/75    DPOSIT 
 SMP0102  DETECT CALLS TO LIST WITHOUT A PRECEEDING PRINT CALL- SYMPL 
          OBJECT TIME LIBRARY 
          SMW    08/11/75    SYMIO
 SMP0103  A TERM WITHIN $BEGIN/$END SKIPPING SHOULD NOT TERMINATE MODULE
          SMW    08/25/75    PF11 
 SMP0104  MISSING TERM ON NULL PROC/FUNC CAUSES PROBLEMS
          SMW    08/18/75    PF1SUB,INIT16,DIAG,PF12
 SMP0105  BAD DECLARATION OF AN XREF/XDEF/COMMON BASED ARRAY EXECUTES 
          A PREVIOUSLY (V1,0) ILLEGAL PIECE OF CODE 
          SMW    08/19/75    PF13 
S3143SY   CONVERT SYMPL V1.1 TO NOS AND NOS B/E 
          SMW    08/19/75    CONCARD.CWEOR2 
 *L420*   **************************************************************
SMP0079   SYMPTOM IS THAT CG2 ABORTS ON A LONG SEQUENCE TERMINATED
          BY A SWITCH JUMP.  PROBLEM IS THAT IJP DOESN"T RESERVE
          A B-REGISTER AND A LONG SEQUENCE THAT CAN USE 7 B-REGISTERS 
          LEM    9/18/75     CODGJ3 
SMP0090   PRESETS OF CHARACTER ITEMS WITH INTEGERS GAVE DIFFERENT 
          RESULTS FOR C(10) AND C(N) (N NQ 10)
          NOW PRESET IS INTEGER VALUE RIGHT JUSTIFIED IN TOTAL CHAR FIEL
          SMW    05/27/75    PF1SUB,PF12
SMP0098   RETURN PST,CRF, AND ILN AT START OF COMPILE.
          RPE   7/11/75       DECKS MODIFIED: CONCARD.
 SMP0107  STOP LOOP ON DIAG 67 IF PROGRAM SCOPES VERY WRONG 
          SMW    09/29/75    PF1SUB 
 SMP0108  STOP CRM ERRORS AFTER SYMPL CONTROL CARD ERRORS 
          SMW    10/02/75    CONCARD
 CP113SY  ADD FTNCALL TO LIST OF POSIBLE CONTROL STATEMENTS TO ACTIVATE 
          CONTROL-CARD-F-OPTION JUST FOR THIS MODULE
            COBOL 5 WANTED THIS SO MUCH THAT WE DID IT JUST FOR THEM
          SMW    10/13/75    INITS,PF12 
 *L428*   **************************************************************
SMP0047   LINK MULTIPLE FOREWARD REFERENCES TO ONE PROC IN THE CROSS
          REFERENCE LIST
          SMW    11/18/75    CRFLST 
 SMP0087A FIX REGRESSION IN SMP0087 WHEREBY SWITCH REFERENCES WITH BAD
          SUBSCRIPT CAUSE ARITH ERRPR DURING COMPILATION
          SMW    01/06/76    PF13 
 SMP0111  FIX MULTIPLICATION BY NEGATIVE CONSTANT WHICH IS A SUM OF 
          POWERS OF 2 
          SMW    11/11/75    EXPGEN 
 SMP0112  ALLOW STRINGS AS ACTUAL MACRO PARAMS
          SMW    12/08/75    PF11 
SMP0113   STOP MACRO EXPANDED CONFUSING ACTUAL AND FORMAL PARAMETERS
          SMW    11/25/75    PF11 
SMP0114   ISSUE DIAGNOSTIC ON REFERENCE TO AN ENTRY PROC WITHIN ITSELF
          SMW    11/25/75    PF1SUB,ETABI 
 SMP0115  STOP COMPILER ABORT 851 ON LOC OF UNDEFINED ITEM
          SMW    12/18/75    FILTRD 
 SMP0117  PRESETS OF CHARACTER ARRAY ITEMS WITH 10 CHARS, NOT WORD
          ALIGNED GIVES BAD CODE
          SMW    01/12/76    ALOCTR 
 SMP0118  INCREASE LINE NUMBER FIELD ON SOURCE LISTING TO 7 DIGITS
          AND BLANK FILL IT TO LEFT 
          SMW    01/20/76    GTSRC,CONTROL
 SMP0119  BASED ARRAY DECLARATIONS IN COMMON USING
               BASED BEGIN ..... CONSTRUCT WAS MAKING ARRAYS EXTERNAL 
          SMW    01/20/76    PF12 
 *L433*   **************************************************************
 SMP0127  GET RID OF UNSATISFIED EXTERNAL IN OPT1 
          JSB    07/29/76    OPT1 
 SMP0129  INSURE THAT DRV FOR VALUE PARAMETERS GETS OUT BEFORE BRAIS
          LEM    7/29/76     CODGJ3 
 SMPA005  GLOBAL STORES SPOILED PARM LOADS IN 1.1 BUT NOT 1.2 
          LEM    8/12/76     CODGJ2 
LM76231   OPTIMIZATION OF I=I WAS INADVERTANTLY DELETED.  THIS CODE 
          RESTORES IT.
          LEM    08/18/76    PHASBS 
 SMP0116A SYMPL GENERATES BAD CODE FOR PARTWORD REPLACEMENTS FOR
          CHARACTER ITEMS OF THE SAME SIZE
          SMW    01/12/76    REPRC
          LEM    8/4/76      REPRC
 SMP0134  LONG CHAR STRINGS AS PARAMETERS MADE LIBRARY CALLS
          WITHOUT FIRST ISSUING SAVES ON OUTSTANDING OPERANDS 
          LEM    8/10/76     EXPGEN,PHASBS,SAVESV,BRKPT 
 SMP0133  USE OF INDUCTION VARIABLE IN FAST FOR LOOP WAS NOT LINKED 
          TO INVI, ALSO EXTRA LOAD WAS NOT QUASHED
          LEM    8/13/76     PCOM88,CODGJ3,CODGJ1 
 SMP0135  MODE = 1 IN RDW= CAUSED BY REQUEST FOR NEGATIVE NUMBER OF WORD
          WHILE READING LAST PHYSICAL RECORD (THE "RECORD" WHICH
          CORRESPONDS TO THE LAST PHYSICAL ENTRY IN THE FAT) OF THE ILN 
          PROBLEM CAUSED BECAUSE NXTHCK WAS CONFUSING LAST CHAINED ENTRY
          FOR LAST PHYSICAL ENTRY.
          DLW    08/05/76    HATCHK,GETIL 
 SMP0136  NON-STANDARD RELOCATION IN SYMSM$ PREVENTS LOADING IN FDL 
          CAPSULE 
          DLW    9/20/76     SYMSM
 SMP0137  DEADCODE FLAG WASN"T BEING REINITIALIZED AFTER A JAM. HENCE 
          IF IT WAS SET TRUE WHEN A JAM OCCURED CODE WOULD BE KILLED
          WHICH SHOULDN"T HAVE BEEN 
          DLW    09/22/76    CODGJ1 
SMP0139   REGISTER JAM CAUSED CODE TO BE KEPT IN X6. CODE KILLS OLD 
          VALUE.
          SRN=SMPA013 
          WGF    10/06/76    CODGK3 
*L444*    **************************************************************
 SMP0124  SYMPL MODED WHEN COMMON BLOCK LIMIT WAS EXCEDED 
          NOW CHECK FOR LIMIT AND UPPED LIMIT TO 509 TO AGREE 
          WITH THE LIMIT ON THE PRESENT LOADER
          LEM    4/4/76      EDITOR 
 SMP0143  LITERALS THAT ARE CONTINUED ACCROSS A CARD BOUNDARY CAN LOSE
          TRAILING BLANKS  (RRGRT01)
          SOLUTION IS TO USE READH INSTEAD OF READC 
          SRN=SY4A128 
          DLW    10/22/76    GTSRC,INIT16,PROCS,FA=DEFS,FA=RDC,FA=RDH,
                             COMCRDC,COMCRDH
 SMP*77   UPDATE THE COPYRIGHT INFORMATION TO INCLUDE THE YEAR 1977.
          ALSO RESTORE LEVEL INDICATORS IN HISTORY COMDECK THAT WERE
          LOST WHEN 1.2 WAS TRANSMITTED.
          DLW    10/19/76    CONCARD,SYMTEXT
 SMP0138  ADDED APPROPRIATE TEST FOR OCCURRANCE OF EOF ON INPUT FILE
          FOLLOWING A $BEGIN. 
          WGF    09/24/76    PF11 
 SMP0142
          REGISTERS INCORRECTLY SCHEDULED FOR BASED ARRAYS. 
          ADDRESS MEMORY NOT CLEARED. 
          SRN=SMPA016 
          WGF    10/19/76    CODGK2 
 SMP0144
          FUNC CALL WITH LONG CHAR ACTUALS PRECEDING SHORT CHAR ACTUALS 
          CAUSED 805 JOVABT IN CG2. 
          SRN=SMPA009 
          DLW    10/26/76    EXPGEN,SAVESV
 SMP0134A LONG SUBSCRIPTED CHAR ITEMS USED AS ACTUALS MADE LIBRARY CALLS
          WITHOUT FIRST ISSUING SAVES ON OUTSTANDING OPERANDS 
          EVENTUALLY CAUSING AN 805 JOVABT IN CG2.  SMP0134 FIXES THE 
          CONSTANT SUBSCRIPTED CASES. 
          SRN=SMPA009 
          DLW    10/07/76    PHASBS 
 SMP0145  ISSUE DIAGNOSTIC 104 IF A FORMAL PARAMETER IS USED AS A 
          PROCEDURE CALL WITHOUT A PRIOR FPRC DECLARATION.
          SRN=SY4A123 
 F7540SY         CHANGES TO SYMPL TO SUPPORT LCM COMPILER ON BETA.
                 MAKE LEVEL 2 RESIDENCE DEPENDENT ON MACHINE COMPILER IS
                 RUNNING ON INSTEAD OF MACHINE COMPILER WAS CREATED ON
          DLW    07/21/76    CONTROL,INIT15,SYMTEXT,LIBCOM,SYMSC,SYMSM
 SMP0146
          TOO LARGE ARRAY ENTRY-SIZE NOT DIAGNOSED. 
          ALSO DIAGNOSE ARRAY DECLARATIONS WITH TOO MANY DIMENSIONS 
          SRN=SMPA023 
          DLW    11/11/76    PF12,SYMC5,ETABI 
 SMP0148
          JOVABT MESSAGES FROM ALOCTR DON"T PRINT TEXT
          ALSO MOVE STAGE TABLE TO ALOCTR SO THAT WE CAN FIX ITS SIZE 
          AND DOCUMENT THE NO. OF WORDS THAT CAN BE PRESET IN AN ARRAY
          ALSO CHANGE COMPILER ABORT PROCEDURE TO SKIP TO AN EXIT(S)
          WITH NO DMPX. 
          SRN=SY4A121 
          DLW                ALOCTR,INIT13,CONTROL
 SMP0149
          RECURSIVE USE OF FUNCTION OR PROC NAME NOT DIAGNOSED.  ADD NEW
          DIAGNOSTIC 181. 
          SRN=SMPA026 
          DLW    12/14/76    PF13,ETABI 
 SMP0150
          TOTAL AMOUNT OF TIME FOR ALL COMPILATIONS NOT BEING PRINTED 
          IN DAYFILE IF LISTING NOT TURNED OFF. 
          DLW    12/20/76    PTLST
 SMP0151
          BASED ARRAY REFERENCE OF TYPE A[J-1] LOSING J IN FAST FOR LOOP
          SRN=SMPA028 
          DLW    01/04/77    CODGK1 
 SMP*78   UPDATE COPYRIGHT TO INCLUDE THE YEAR 1978.
          SJK    77/06/30    SYMTEXT,CONCARD
SMPA053   BAD CODE GENERATED FOR STORE INTO PFUN FOLLOWED BY 2 LOADS
          SMW    07/20/77    CODGJ2 
SMPA054   JOVABT 851 IN COBOL52 PROC COBASM CAUSED WHEN ORP00 DROPPED 
          A BPSB
          DLW    07/25/77    CODGK2 
 SMPA056  MAKE B-REGISTER ASSIGNMENT FOLLOW IN ORDER:  A) BEGINNING OF
          SEQUENCE, B) RESERVATION OF X1, C) SETTING OF FORMAL ADDRESS
          WHEN B-REGISTER IS ASSIGNED TO THAT ADDRESS.
          SMW    77/08/03    CODGJ3 
SMPA060 
          BAD CODE GENERATED FOR MANY USES OF SCALAR IN SEQUENCE WHICH
          BEGAN WITH REPL INTO PFUN. BRAI FOR SCALAR WAS TURNED INTO DRV
          INSTEAD OF BRAI FOR BARRAY
          SMW    08/15/77    CODGJ1,CODGJ2
 SMPA042  FIX CG1 TO GENERATE CORRECT CODE FOR RIGHT-JUSTIFYING THE 
          STRING RETURNED BY SYMSG$ FROM A BEAD FUNCTION ON A 
          MULTI-WORD CHARACTER ITEM.
          SJK    77/09/01    EXPGEN,KKCW,SYMBIT,SYMBYT
 SMPA043  FIX CG1 TO HANDLE J = F(B[0]) CORRECTLY WHERE F IS A FUNC,
          B IS AN ARRAY NAME, AND 0 REPRESENTS A ZERO OFFSET. 
          SJK    77/08/04    PHASBS 
SMPA050   JOVABT 851 WHEN COMPILING FASTFOR LOOP.  CAUSED BY OPERAND
          BECOMING NULL IN J BECAUSE ITS REFCT WAS DECREMENTED TOO OFTEN
          SMW    08/17/77    CODGJ2 
SMPA056A  REF SMPA056 -- TO SCHEDULE BRAI"S ALONG WITH PROLOG CODE
          IF POSSIBLE.
          PROBLEM -- THE ORIGINAL CODE RELIED UPON -SEQ- REMAINING
          CONSTANT THROUGHOUT A SEQUENCE.  HOWEVER, -SEQ- GETS BUMPED 
          BY A LABL STARTING THE INNERMOST LOOP AND WILL BE DIFFERENT 
          FROM THE STARTING -SEQ- IN THIS CASE. 
          SOLUTION -- WE MUST CHECK USING -BEGSEQ- (BEGINNING OF THIS 
          SEQUENCE) WHEN CHECKING -SEQ- AGAINST PROLOG CODE.
          SMW    9/13/77     CODGJ3 
SMPA062   OUTPUT FILE NOT FLUSHED ON NOS IF JOB STEP IS ABORTED UNLESS
          42/LFN,18/FET STORED IN RA+2
          DLW    09/15/77    CONCARD
 SMPA063  ADD ENTRY POINTS *SYSAID.* AND *EXP.MSG* IN CONTROL.
          THIS PSR SHOULD BE INSTALLED ONLY IF PSR FCL1133 IS INSTALLED 
          IN THE FORTRAN LIBRARY. 
          SJK    77/08/30    CONTROL
BL7300                                                                   SYMPL
          THIS CORRECTION SET REMOVES THE NECESSITY FOR AN ENTRY PROC    SYMPL
          IN INITS.  THIS CORRECTION SET DEPENDS UPON ANZSS (ANZS) AND   SYMPL
          INITSS (INITS).                                                SYMPL
          BLL    10/27/77    INIT15                                      SYMPL
          THIS CORRECTION SET IS A COMPLETE REFORMATING OF INITS.        SYMPL
          INITSS WAS USED AS AN IDENT FOR THIS HISTORY WHICH             SYMPL
          CORRESPONDS TO CORRECTION SET INITS IN THE COMPILER. COMMENTS  SYMPL
          HAVE BEEN ADDED AS WELL; DEAD CODE HAS BEEN REMOVED.  THE      SYMPL
          ENTRY PROC HAS BEEN REMOVED, NECESSITATING A CHANGE IN INIT15. SYMPL
          OPTION PRESETS WERE TRANSFERRED FROM ANZS TO INITS.  THIS      SYMPL
          CORRECTION SET DEPENDS UPON ANZSS (ANZS) AND INIT15.           SYMPL
          BLL    10/27/77    INITS                                       SYMPL
ANZS                                                                     SYMPL
          THIS CORRECTION SET IS A COMPLETE REFORMATING OF ANZS.         SYMPL
          ANZSS WAS USED AS AN IDENT FOR THIS HISTORY WHICH              SYMPL
          CORRESPONDS TO CORRECTION SET ANZS IN THE COMPILER.  THE       SYMPL
          OPTION PRESETS IN ANZS WERE TRANSFERRED TO INITS.  THIS        SYMPL
          CORRECTION SET DEPENDS UPON INITSS (INITS) AND INIT15.         SYMPL
          ALSO INCLUDED IN THIS SET ARE MODS TO PRINT OUT A              SYMPL
          CONSTRUCT STRING TRACE IN THE DEBUG COMPILER BY SPECIFYING     SYMPL
          THE *=0 OPTION.  THIS TRACE WAS PROVIDED BY WGF.               SYMPL
 SY4A104  FIX MODE 1 IN ALOCTR DUE TO ERROR IN ARRAY ITEM PRESET         NOV04
          JPW    10/7/77     ALOCTR                                      NOV04
         SRN = SVL011599                                                 NOV04
 SMPA029  FIX MODE 2 DURING REAL CONSTANT PROCESSING CAUSED BY USER      NOV04
                 FEEDING SYMPL A VERY LARGE REAL CONST.                  NOV04
          JPW    9/12/77     SYMPL,PF11,BLDREAL,REALCOM,SKELETON         NOV04
 SMPA039  ENABLE SAVESV TO GENERATE ICF SAVE INSTRUCTIONS IN THE         NOV04
          PROPER CIRCUMSTANCES.  CORRECTS JOVABT 805 WHEN MORE THAN ONE  NOV04
               PARAMETER, WHERE AT LEAST ONE OF THOSE PARAMETERS IS A    NOV04
               MULTI-WORD CHARACTER ITEM, IS PASSED IN A FUNC CALL.      NOV04
          SJK    77/10/06    PHASBS,SAVESV                               NOV04
SMPA068   812 JOVABT IF FUNC NAME SET IN EMBEDDED PROC/FUNC.  BAD ICF    NOV04
          OUTPUT FOR FRES SINCE TEMP FOR FUNC WASN"T SET UNTIL SPRC WAS  NOV04
          PROCESSED BY BRKPT.  CODE ALLOCATES TEMP FOR OPN2 OF FRES IF   NOV04
          NECESSARY AND DOESN"T ALLOCATE ONE IN SPRC PROCESSING IF ONE   NOV04
          ALREADY EXISTS.                                                NOV04
          DLW    10/18/77    BRKPT                                       NOV04
          SRN=MTK002                                                     NOV04
 PW7262   MISC CLEANUPS IN PF11,PF13,PF1SUB,SPRECG
          JPW,DLW 9/19/77    PF11,PF13,PF1SUB,SPRECG
 PW7280   ALOCTR CLEANUP IN GETPS 
          JPW    10/6/77     ALOCTR 
 BL7314   INITIALIZATION OF VARIABLES IN COMMON BLOCK SYMPL MUST
          OCCUR AFTER (NOT BEFORE) THE SYMPL COMMON BLOCK IS SET
          TO ZERO. THIS CORRECTION SET RESOLVES THIS. 
          BLL    11/10/77    INITS
 S1699SYM FIXES FOR SYMPL 1.3 RELATIVE TO SYSIO SIZE REDUCTION DAP
          S1699.
          CHANGE INIT40 TO PUT OUT LDSET(LIB=SYMLIB/FORTRAN)
          INSTEAD OF SYSIO/FORTRAN ON OBJECT BINARY.
          SJK    77/06/28    INIT40 
  
 SMPA071  VISIBLE PROBLEM -- THE SECOND OF TWO GLOBAL STORES WAS
          ALLOWED TO FLOAT PAST THE LOAD OF A PARAMETER.  THE PROBLEM 
          BECAME SERIOUS BECAUSE THE GLOBAL AND THE PARAMETER WERE
          REFERENCING THE SAME VARIABLE.
          INTERNAL PROBLEM -- THE PARAMETER USES LIST WAS BEING EMPTIED 
          AFTER BEING LINKED TO THE FIRST GLOBAL STORE.  SINCE GLOBAL 
          STORES ARE CONSIDERED NOT TO INTERACT WITH EACH OTHER, THERE
          IS NO LINK BUILT BETWEEN THEM.  IN FACT, THE SECOND STORE 
          SHOULD HAVE THE SAME PREDECESSORS AS THE FIRST. 
          SOLUTION -- DO NOT EMPTY THE PARAMETER USES LIST FOR A GLOBAL 
          STORE.  MAKE ALL OUTSTANDING PARM LOADS PREDECESSORS TO EACH
          INDIVIDUAL GLOBAL STORE.
          LEM    11/11/77    CODGJ2 
BL7340    THESE MODS CLEAN UP THE OPTION PROCESSING MECHANISM, FIX
          XRDEF SO THE CROSS-REFERENCE WILL PRINT, AND DELETE FUNKY AND 
          GENOPT FROM THE COMDECK SYMPL AND ALL REFERENCES TO THEM. 
          THE CROSS-REFERENCE WAS NOT PRINTING DUE TO THE LAST COMPLETE 
          REFORMATTING OF ANZS AND INITS, IDENTIFIED BY CORRECTION SET
          IDENTS ANZSS AND INITSS, RESPECTIVELY.
          BLL    12/06/77    XRDEF,PF12,PF13,SYMPL
BL7339    THIS CORRECTION SET MAKES MINOR CHANGES TO THE I/O ROUTINES 
          IN FORTRAN ASSOCIATED WITH JENNY AND JEN TO ALLOW A 72- 
          COLUMN READ INSTEAD OF AN 80-COLUMN READ FROM THE SYNTAX
          RULES.  IT ALSO CORRECTS THE STATEMENT WHICH PRINTS OUT THE 
          PRAGMATIC FUNCTION LABEL TRACE. 
          BLL    12/05/77    JEN,JENNY
SMPA087   855 JOVABT WHEN PROCESSING STATEMENTS INVOLVING LEVEL2 DATA ON
          SCOPE2 OR CY176 (U212A,U212B).  CAUSED BY NOT BEING ABLE TO 
          RECOGNIZE A LOAD WHICH WAS ORIGINALLY AN INDIRECT LOC (SCHED).
          DLW    01/03/78    COM88,CODGK1,CODGK3
 SMPA083  INCORRECT CODE WAS GENERATED FOR SEQUENCE WITH MANY USES OF 
          P-FUN. SOLUTION..MODIFY AU TABLE PROCESSING IN CODGJ3 TO FORCE
          BRAIS FOR BASED ARRAY POINTER WORD REFERENCES BUT NOT FOR 
          BASED ARRAY REFERENCES. 
          WGF    78/01/09    CODGJ3 
SMPA010                                                                  SMPA010
          MODULE THAT DOESN"T BEGIN CORRECTIY CAUSES SYMABT. SOLUTION    SMPA010
          IS TO SPECIFICALLY CHECK FOR THIS AND TO ABORT WITH A BETTER   SMPA010
          MESSAGE.                                                       SMPA010
          DLW    01/26/78    ANZS                                        SMPA010
          SRN=18431                                                      SMPA010
SMPA044   GENERATE STOP CODE FOR RETURN IN PRGM                          SMPA044
          DLW    1/19/78     BRKPT                                       SMPA044
          SRN=40124                                                      SMPA044
                                                                         SMPA066
SMPA066   BAD CODE FOR BEAD FUNC WITH NBITS = 0.  SOLUTION IS TO DIAG    SMPA066
          EXPLICIT CASE (SYMABT 867) AND PUT WARNING IN REF MAN FOR VAR  SMPA066
          CASE.                                                          SMPA066
          DLW    02/06/78    PHASBS                                      SMPA066
          SRN=Q32021                                                     SMPA066
                                                                         SMPA075
SMPA075   GARBAGE IN MODULE TYPE FIELD OF HEADER.  THIS CONDITION OCCURS SMPA075
          WHEN MODULE NAM CONTAINS A REDEFINITION OF NAM.  EXISTING CODE SMPA075
          ASSUMED FIRST ENTRY IN NLNK CHAIN POINTED TO ENTRY FOR MODULE  SMPA075
          HEADER WHEN IN FACT LAST ENTRY DOES.                           SMPA075
          DLW    02/03/78    PTLST                                       SMPA075
          SRN=70914                                                      SMPA075
SMPA077   LEVEL3 BASED ARRAY NAME AS ACTUAL PARAM PRODUCES BAD CODE.     SMPA077
          SOLUTION IS TO ISSUE DIAG 176 FOR THIS CASE (ITS ILLEGAL)      SMPA077
          DLW    01/20/78    PF13,SYMT6C,COM08                           SMPA077
 SMPA085  VISIBLE PROBLEM -- THE SYMPL COMPILER DOES NOT DIAGNOSE THE    SMPA085
          CONDITION OF TWO CONSECUTIVE ADDITIVE OPERATORS (I.E., +,-).   SMPA085
          ALL OTHER COMBINATIONS OF CONSECUTIVE OPERATORS ARE DIAGNOSED  SMPA085
          PROPERLY WITH ERROR 126 - EXPR OP CONCATENATION ERR.           SMPA085
          INTERNAL PROBLEM -- UPON ENTERING LABEL REXP10 IN PF13 A TEST  SMPA085
          IS MADE AS TO THE PRECEDENCE LEVELS OF CONSECUTIVE OPERATORS.  SMPA085
          THE CASE OF THE FIRST OPERATOR BEING OF DIFFERENT PREC. THAN   SMPA085
          THE SECOND IS HANDLED CORRECTLY.                               SMPA085
          SOLUTION -- UPLUS, UMINUS, PLUS, AND MINUS ALL HAVE THE SAME   SMPA085
          PRECEDENCE VALUE.  STAR AND SLASH HAVE ANOTHER.  ALL OTHER     SMPA085
          OPERATOR PRECEDENCE VALUES ARE UNIQUE.  THUS, THIS FIX         SMPA085
          DISALLOWS CONSECUTIVE OPERATORS OF EQUAL PRECEDENCE.  CASES    SMPA085
          DIAGNOSED NOW (BUT NOT BEFORE) ARE A+-B, A++B, A-+B, A--B.     SMPA085
          BLL    01/19/78    PF13                                        SMPA085
SMPA100   GARBAGE CHARS IN "COMPILED UNDER OPTIONS" MESSAGE AND PRFX     SMPA100
          TABLE. -OPTION- IS NOW BEING USED TO PASS INFO (FROM CONTROL   SMPA100
          STATEMENTS) WHICH HAS NO CONTROL CARD EQUIVALENT (I.E. TRACE-  SMPA100
          BACK, UNBEHAVED).  THIS INFO IS NOT MEANT TO BE LISTED.        SMPA100
          SOLUTION IS TO BE MORE SELECTIVE ABOUT WHICH BITS OF OPTION    SMPA100
          CAUSE LETTERS TO APPEAR IN MESSAGE AND PRFX TABLE.             SMPA100
          DLW    01/31/78    CONTROL                                     SMPA100
          SRN=77710                                                      SMPA100
 SMPA103  EDIT THE MILLISECONDS FIELD OF THE COMPILATION TIME MESSAGES   SMPA103
          (DAYFILE AND SOURCE LISTING), REPLACING BLANKS WITH ZEROES.    SMPA103
          THUS...                                                        SMPA103
          -SYMPL-   PROCNAME  COMPILED     . 82                          SMPA103
          BECOMES                                                        SMPA103
          -SYMPL-   PROCNAME  COMPILED     .082                          SMPA103
          SJK    78/2/2      CONTROL                                     SMPA103
 SMPA105  IF COMPILER OPTION L=0, DO NOT WRITE AN EOR ON *OUTPUT*        SMPA105
          UNLESS DIAGNOSTICS HAVE OCCURRED.                              SMPA105
          SJK    78/02/07    CONCARD,CONTROL                             SMPA105
 SMPA029A REPAIRS ENTIRE FLOATING-POINT CONSTANT CONVERSION MECHANISM    SMPA029
          COMPILER WILL NOW CATCH A LOT MORE ERRORS IN F-P CONSTANTS.    SMPA029
          JPW    01/16/78    SPRECG,PF11,NUMCOM,REALCOM,BLDREAL,SYMPL,   SMPA029
                             ETABI                                       SMPA029
 LEVELS   ADDS LEVELS OF DIAGNOSTICS TO SYMPL 1.3. DESCRIBED             HISTORY
          IN DAP S2322 AND SYMPL 1.4 GID.                                HISTORY
          WGF    03/24/78                                                HISTORY
          DECKS PURGED: JOVABT,ERROR                                     HISTORY
          COMDECKS ADDED: ERLEVS,ERMSGS                                  HISTORY
          DECKS ADDED: SYMABT,SYMABTL,ERLEV                              HISTORY
          DECKS MODIFIED: SRCH,SYMELT,ANZS,CODE,DIAG,HATCHK,PF1SUB,PF11, HISTORY
                          PF12,PF13,SPRECG,DIAGIV,ALOCTR,OPT1,OPT2,OPT2B HISTORY
                          OPT2DMP,SYMOPT,ADCON,BRKPT,CONSAM,EXPGEN,      HISTORY
                          FILTRD,GETRD,HASH,PHASBS,REPRC,CODGJ1,CODGJ2,  HISTORY
                          CODGJ3,CODGK1,CODGK3,CODGK1S,CODGK3S,EDITOR,   HISTORY
                          CONCARD,CONTROL,PHASE10,ETABI,SKELETON         HISTORY
          COMDECKS MODIFIED: COM56                                       HISTORY
CHECKER   ADDS CHECKER FEATURE TO SYMPL 1.3. DECSRIBED IN                HIST 
          DAP S2326 AND SYMPL 1.4 GID                                    HIST 
          WGF    03/24/78                                                HIST 
          COMDECKS PURGED: SPFSW1,SPFSW2,SPSFW3,SPFSW4,SYMCNS,STABLE,    HIST 
                           LENDEFN,CONSTR                                HIST 
          COMDECKS ADDED:  SAME AS ABOVE                                 HIST 
          COMDECKS MODIFIED: SYMPL,SCMAC                                 HIST 
          DECKS MODIFIED: SYM66P,INITS,ANZS,CODE,DIAG,DMPCSNR,HATCHK,    HIST 
                          PF1SUB,PF11,PF12,PF13,SPRECG,XRDEF,DIAGIV,     HIST 
                          INIT16                                         HIST 
                                                                         SKELFIX
 BL8143   CHANGES TO THE SKELETON MADE DURING THE PREVIOUS BUILD WERE    SKELFIX
          INCORRECTLY INCORPORATED UNDER THE IDENT OF STABLE.  JENNY,    SKELFIX
          HOWEVER, GENERATES UPDATE DIRECTIVES WHICH PURGE AND REPLACE   SKELFIX
          IDENT STABLE WHEN SYNTAX CHANGES ARE MADE.  THIS MOD DELETES   SKELFIX
          CARDS WITH AN IDENT OF STABLE FROM THE SKELETON AND            SKELFIX
          RE-INSERTS THEM UNDER A NON-CONFLICTING IDENT.                 SKELFIX
          BLL    05/23/78    SKELETON                                    SKELFIX
                                                                         SKELFIX
 MIS      IMPLEMENTS THE MACHINE-INDEPENDENT STRUCTURES FEATURE AS       SKELFIX
          DESCRIBED IN DAP S2319, THE SYMPL 1.4 GID S2563, AND BSL       SKELFIX
          S2558.  TWO NEW COMMON DECKS CONTAINING MACHINE-DEPENDENT      SKELFIX
          DECLARATIONS AND DEFS FOR THE SOURCE MACHINE (COMDECK          SKELFIX
          SOURCEDEF) AND THE TARGET MACHINE (COMDECK TARGETDEF) ALSO     SKELFIX
          APPEAR FOR THE FIRST TIME.                                     SKELFIX
          BLL    05/23/78    ERMSGS,INITS,PF11,PF12                      SKELFIX
                             CONSTR,LENDEFN,SOURCEDEF,SPFSW1,SPFSW2,     SKELFIX
                             SPFSW3,SPFSW4,STABLE,SYMCNS,SYMC5,SYMPL,    SKELFIX
                             SYNTAX (ON ANOTHER PL),TARGETDEF            SKELFIX
                                                                         DEFEXP 
 BL8145   REFORMAT OF ROUTINE DEFEXP ( IN PF1SUB )                       DEFEXP 
          BLL    05/25/78    PF1SUB                                      DEFEXP 
 LM8171   CHANGE THE SYMPL PAGE HEADER TO "SYMPL 1.4".                   JUNK 
          LEM    6/20/78     PTLST                                       JUNK 
 LM8170   THE OLD DECK "CWEOR0" WAS ACTUALLY AN UNCONDITIONAL "WEOR".    JUNK 
          THIS IDENT MAKES IT A "CWEOR" AS IT SHOULD BE.                 JUNK 
          LEM    6/20/78     CWEOR2                                      JUNK 
 LM8182   PATCH CID CODE BY INSERTING CALLS TO SOURCEDEF. 
          LEM    6/30/78     EDITOR 
  
  
 -CY46-   -------CY 46-------8/16/78------------------------------------
  
 SMPA094  FIX LINE NUMBER OF DEFINITION FOR XDEF PROC/FUNCS 
          JPW    07/26/78    PF12 
 SMPA108  ADD THRESHOLD TEST IN CODGK3 LABEL PROCESSING TO INCLUDE
          THE POSSIBILITY OF ENCODED ADDRESSES IN X OR B REGISTER 
          MEMORY.  THE SYMPTOM OF NOT MAKING THIS TEST IS UNDERINDEXING 
          THE ICFT ITEM XREGL, THEREBY STORING INTO INCORRECT WORDS OF
          THE COMPILER FIELD LENGTH (WHICH MAY HAVE DEVESTATING EFFECTS)
          OR CAUSING AN ERROR MODE 1 ABORT. 
          SJK    78/03/08    CODGK3 
 SMPA110  ALTER THE FLOW OF CONTROL IN EDITOR SUCH THAT WHEN B=0 AND
          O, R, OR X IS SELECTED, THE PROGRAM LENGTH MESSAGE IS 
          SUPPRESSED (IT WOULD BE INCORRECT ANYWAY), AND WHEN B=0 
          AND R OR X IS SELECTED, THE COMMON BLOCK LEGEND IS PRINTED. 
          SJK    78/03/31    EDITOR 
 SMPA115  REMOVE DUPLICATE ENTRY POINT FROM 1,6 
          PROBLEM CAUSED BY CODE FOR SMPA029
          JPW    3/30/78     CONTROL,INIT31 
 SMPA116  REPAIR SPURIOUS DIAGNOSTIC CAUSED BY 0.0E-XXX.
          PROBLEMS WITH -MODE-PROOF- ALGORITHM IN BLDREAL...
          JPW    04/04/78    BLDREAL
  
 SMPA128  LIST DUMY ITEMS THAT ARE NOT SATISFIED IF -N- OPTION ON 
          JPW,SJK        08/08/78      XRDEF,CRFLST 
 SMPA131  REPAIRS PROBLEM THAT PREVENTED "U" TYPE ITEM FROM BEING 
          USED AS AN INDUCTION VARIABLE IN A FAST FOR LOOP. 
            ALSO SUPPRESSES END OF LOOP, WHEN FOR STMT IND. VAR.
          IS OF WRONG TYPE. 
          SOLUTION TO ABORT:  ADD A BIT TO THE LOOP CONTROL TABLE 
          IN COMDECK SYMPL TO INDICATE THAT THE FOR STMT HAD A
          SYNTAX ERROR AND THAT THE CORRESPONDING END SHOULD NOT
          BE GENERATED IN THE IL
          JSL    07/04/78    PF13,SYMPL 
  
 CG2ABT   LEVELS AS ORIGINALLY IMPLEMENTED REMOVED A VERY USEFUL FEATURE
          FROM CG2 -- GETTING AUTOMATIC ICFT DUMPS FROM THE DEBUG 
          COMPILER PRIOR TO AN ABORT.  THIS CODE INSERTS A NEW PROC IN
          CODGJ1 (CG2ABT) AND CHANGES ALL SYMABT CALLS TO USE IT. 
          LEM    8/11/78     CODGJ1,J2,J3,K1,K1S,K3,K3S 
  
 DEBUG    CHANGE THE METHOD FOR GENERATING A DEBUG COMPILER.
          PREVIOUSLY THE USER HAD TO KNOW TO SET THE VARIABLE -TEST-
          IN SYMTEXT TO EITHER 1 OR 0.  NOW THIS IS HANDLED 
          AUTOMATICALLY BY USING A COMPASS *DEFINE DEBUG.  IF DEBUG IS
          DEFINED, A DEBUG COMPILER IS GENERATED....
          LEM    8/11/78     SYMTEXT
  
 BL8209   THIS CODE CLEANS UP ERROR PROCESSING FOR REAL ARRAY ITEMS, AS 
          WELL AS FORCING THE SIZE OF A REAL ARRAY ITEM TO 60 BITS, 
          REGARDLESS OF WHAT THE USER SPECIFIES.  SMPA125 WAS ANSWERED
          VERBALLY, BUT THE BELOW CODE FOR THIS PSR WILL BE RELEASED
          WITH SYMPL 1.4 .
          BLL    07/28/78    PF12 
  
 BL8219   IF THE FIRST TOKEN SEEN BY ANZS IS NOT A -PRGM-, -PROC-, OR 
          -FUNC-, A SYMABT IS ISSUED BUT THE OFFENDING CARD IS NOT
          LISTED.  THIS CODE REFORMATS PART OF ANZS AND LISTS THE 
          OFFENDING CARD. 
          BLL    08/07/78    ANZS 
  
 BL8220   WHEN THE EL=D OPTION IS SELECTED, THE USE OF THE TRANSITION 
          STATEMENT : DEF FASTFOR #CONTROL FASTLOOP; FOR #; IS NOT
          COMPILED CORRECTLY.  THIS CORRECTION SET RESOLVES THE ABOVE 
          PROBLEM AND ANSWERS THE PRE-RELEASE PSR SMPA136.
          BLL    08/08/78    PF11,SYNTAX (ON ANOTHER PL)
  
 BL8221   THIS CORRECTION SET REMOVES THE RESERVED WORD -COPY- FROM THE 
          LANGUAGE.  ITS PRIOR USE WAS AS A STANDALONE STATEMENT AS WELL
          AS PART OF THE -CONTROL- STATEMENT.  THIS CODE ALSO ANSWERS 
          PSR SMPA140 AS PART OF THE 1.4 RELEASE OF SYMPL.
          BLL    08/09/78    CONTROL,INITS,PF12,SYNTAX (ON ANOTHER PL)
 PW8215  CLEAN UP DIAGNOSTIC LIST AND PROCESSORS
          JPW    08/03/78    ERMSGS,ERLEV,ETABI,DIAGIV,SYMTEXT
  
  
 -CY47-   -------CY 47-------8/17/78------------------------------------
  
  
 SMPA098  REPAIR SPURIOUS LOCATION ENTRIES FOR NON-REFERENCED LABELS
          JPW    08/04/78    MAPCRF 
  
 SMPA121  PROBLEM -- IF *EOR* IS REACHED ON INPUT BEFORE THE END OF 
          THE PROGRAM IS RECOGNIZED, A BLANK LINE IS PRINTED WITH THE 
          CARD NUMBER OF *,*.  THIS SITUATION OCCURS IF TERM ENDS IN COL
          72 (IT IS NOT A TERM UNTIL THE TOKEN ENDS ON A DELIMITER) 
          OR A CONDITIONAL COMPILATION THAT IS NOT PROPERLY ENDED, ETC. 
          SOLUTION -- DO NOT PRINT THE COMMA AS THE CARD NUMBER.
          LEAVE EVERYTHING ELSE THE SAME, IE. PRINT THE BLANK LINE. 
          NOTE -- DLW PUT CODE IN THIS AREA AT SYMPL 1.3 TIME TO CLEAN
          UP THIS WHOLE AREA.  THIS IS THE LAST MANEFESTATION OF SEVERAL
          MORE SERIOUS PROBLEMS FROM THE PAST.
          LEM    8/2/78      GTSRC
  
 SK8228   REMOVE THE DEFINITION OF THE SYMBOL *KRONOS* FROM SYMTEXT.
          *KRONOS* WAS USED TO DETERMINE PRESENCE OF THE NOS OPERATING
          SYSTEM ENVIRONMENT, WHICH USED TO TO REQUIRE CONDITIONAL
          ASSEMBLY IN INIT15.  THE CODE IN INIT15 WHICH REFERENCED
          *KRONOS* WAS REMOVED BY THE STEXT MODS IN SYMPL 1.4.
          SJK    8/26/78     SYMTEXT
  
 LEM8222  THIE IS A PERFORMANCE ENHANCEMENT TO THE DEBUG COMPILER.
          THE ROUTINE -DB- IS CALLED WITH A VARIABLE NUMBER OF PARAMS.
          THE OVERHEAD IN SYMPL TO ACCOMODATE THIS IS EXCESSIVE,
          ESPECIALLY WHEN THE TRACES ARE ALMOST NEVER USED. 
          THE SOLUTION IS TO INTRODUCE AN INTERFACE ROUTINE IN COMPASS
          WHICH WILL CALL -DB- ONLY IF A TRACE IS TO BE PRINTED.
          LEM    8/14/78     INIT32,CODGJ1
  
 LEM8228  PATCH MINOR PROBLEM IN CY46 BUILD IN PF13.
          LEM    8/16/78     PF13 
  
 JL8263   MOD TO ALLOW CID TO BE USED WITH DEBUG COMPILER.
          ALSO TURNS OFF LOADING OF IDP WHEN CID IN USE.
          REQUIRES *DEFINE CID TO TAKE EFFECT 
          JSL    09/20/78    SYMTEXT,CONTROL
  
 NEWCRF   WITH THIS IDENT COMES A NEW CRFLST AND COM19A.  CRFLST
          IS RESTRUCTURED AND REFORMATTED, WITH MANY CHANGES IN VARIABLE
          NAMES AND SOME MINOR IMPROVEMENTS.  THE CHANGES IN COM19A 
          REQUIRED SOME CHANGES IN XRDEF.  A CHANGE ALSO IN COM99A. 
          THE DEBUG OPTION IN ADCON CHANGED TO M. 
          JSL    09/12/78          CRFLST,COM19A,XRDEF,COM99A,ADCON 
  
 STEXT    THIS IS THE IDENT FOR MOST OF THE MODS FOR THE STEXT FEATURE. 
          NEW DECKS ARE:  USETEXT, GENTEXT, INIT14, TXTCOM. 
          SJK     08/15/78    CONTROL,CONCARD,PHASE10,DIAG, 
                             HATCHK,PF12,PF13,INIT15,SRCH,INITS,
                             DIAGIV,MAPCRF,SDUMP,ALOCTR,EXPGEN, 
                             CODGJ1,FRMNME,SYMPL,COM88,ERMSGS,
                             CEXEC,COM08,COMSTUF,SYMC5
  
 STXTCRF  THIS IS THE REST OF THE STEXT MODS. 
          JSL    09/12/78    CRFLST, PTLST
  
 JL8271   THIS CHANGES THE WAY GENTEXT DETERMINES PRESENCE OF EXECUTABLE
          STATEMENTS DURING TEXT GENERATION.  POPR IN CODE SETS A FLAG, 
          EXCODE, IN PHASE10, IF IT RECEIVES CERTAIN IL OPS.
          JSL    09/28/78    PHASE10,INIT14,CODE,GENTEXT,COM19B 
  
  
  
 APARM1   INSTALL THE A-PARAMETER PROVISIONALLY IN SYMPL 1.4 TO 
          PREVENT TOO MUCH PERTURBATION TO THE USERS BY BREAKING IT NOW.
          A DAYFILE MESSAGE IS ISSUED TO INFORM THE USER THAT THE 
          PARAMETER HAS BEEN ACCEPTED AS -ET=F-.
          THIS CODE HAS BEEN MODIFIED BY IDENT -LM9003- TO ACCEPT THE 
          A-PARAMETER AS -ET=T-.
          BOTH OF THESE IDENTS MUST BE PULLED AS PART OF THE SYMPL 2.0
          DEVELOPMENT SINCE THIS FEATURE IS A CONVERSION AID. 
          LEM    8/21/78     CONCARD
  
 SK8262   FIX EOR/EOI CHECKING FOR Y=FILES IN INIT15 TO ENSURE THAT ALL 
          RECORDS ARE EXAMINED AS POTENTIAL SYMPL TEXTS.
          SJK    78/09/19    INIT15 
  
 SK8257   ESTABLISH A SYMPL TEXT LINK CHAIN WHICH CONNECTS ALL SYMBOL 
          TABLE S"TEXT" ENTRIES.  STLC IN CEXEC POINTS TO THE HEAD OF 
          THIS LINEAR CHAIN.  SYMBOL TABLE FIELD TLNK IS THE LINK FIELD.
          STLC EQUAL TO 0 INDICATES AN EMPTY CHAIN.  THE END OF A NON-
          EMPTY CHAIN IS DESIGNATED BY TLNK EQUAL TO 0. 
          SJK    78/09/14    CEXEC,COMSTUF,COM08,USETEXT
                             ALOCTR,SDUMP,SYMT6C
  
 SK8284   MOVE THE SETRAB MACRO FOR Y=FILE RANDOM ACCESS PROCESSING 
          FROM INIT15 TO ITS SUBROUTINE GST, THEREBY ENSURING THAT
          THE RANDOM ACCESS BIT IN THE YFIL FET IS SET FOR ALL Y=FILE 
          RANDOM READS. 
          SJK    78/10/11    INIT15 
  
 BL8248   CODE ADDED WITH THE CHECKER FEATURE DIAGNOSED XREF AND XDEF 
          LABEL AND SWITCH DECLARATIONS IF THEY WERE IN A BEGIN-END 
          PAIR.  HOWEVER, STANDALONE XREF AND XDEF LABEL AND SWITCH 
          DECLARATIONS WERE NOT DIAGNOSED.  THIS CODE DIAGNOSES 
          DECLARATIONS OF BOTH FORMS WITH THE PROPER MACHINE-DEPENDENT
          (D) ERROR MESSAGES 183 (XREF OR XDEF LABEL WILL NOT BE
          SUPPORTED IN SYMPL 2) AND 184 (XREF OR XDEF SWITCH WILL NOT 
          BE SUPPORTED IN SYMPL 2), RESPECTIVELY. 
          BLL    09/05/78    PF12 
  
 BL8249   WHEN -MODULE- AND -FASTFOR- (NEW RESERVED WORDS IN SYMPL 2) 
          ARE USED IN A PROGRAM COMPILED WITH EL=D, THE PROPER
          DIAGNOSTIC IS ISSUED BUT THE USE IS DISCARDED.  THIS
          CORRECTIVE CODE ENSURES THE ISSUANCE OF THE DIAGNOSTIC AND
          DOES NOT DISCARD ITS USE.  FOR EXAMPLE, ITEM FASTFOR WILL 
          CAUSE THE DIAGNOSTIC TO BE ISSUED, BUT FASTFOR WILL NOT BE
          TREATED AS A RESERVED WORD.  INSTEAD, IT WILL BE TREATED AS 
          ANY IDENTIFIER.  PREVIOUS CODE DISCARDED THE ENTIRE 
          DECLARATION.
          BLL    09/06/78    PF11, SYNTAX (ON ANOTHER PL) 
  
 JL8291   THIS IS A PATCH TO JL8263 TO PROPERLY DEFINE THE SYMBOL CID.
          JSL    10/18/78    SYMTEXT
  
 JL8293   THIS IS A PATCH TO JL8271.  THE ARRAY IL$STUF 
          WAS NOT BEING PRESET RIGHT. 
          JSL    10/20/78    COM19B 
  
 JL8303   THIS CORRECTS A PROBLEM IN GENTEXT WHICH OCCURED WHEN A 
          DTXT WAS BEING MOVED ABOVE TTORIGIN.  ANYTHING HASHED TO 0 WAS
          LOST. 
          JSL    10/30/78    GENTEXT
  
 JL8297   THIS FIXES A BUG IN CRFLST WHICH CAUSED NAMES OF ENTRIES
          LISTED MORE THAN ONCE TO BE GARBLED.  ALSO FIXES BLANKING 
          OF PRINT$LINE ON SECOND LINE OF ENTRY.
          JSL     10/24/78     CRFLST 
  
 JS8298   USETEXT INCORRECTLY HANDLED DUPLICATE NAMES IN
          SEPARATE TEXTS.  IF STATUS CONSTANTS IN THE SECOND
          TEXT WERE NAMED THE SAME AS NON-STATUS CONSTANTS IN THE 
          FIRST, ERRONIOUS DIAGNOSTIC RESULTED.  CAUSED BY
          TESTING FOR THE WRONG CLASS.
          JSL    10/25/78    USETEXT
  
 SK8292   FIX TEXT GENERATION AND TEXT USAGE I/O SERVICE ROUTINES TO
          ENABLE CORRECT SYMPL TEXT PROCESSING UNDER SCOPE 2. 
          SJK    78/10/19    GENTEXT,PTLST,INIT15,INIT14
  
 SK8295   MOVE MEL TO PHASE10 AND USE IT TO INDICATE THE MAX ERROR LEVEL
          ISSUED BY PASS 1 FOR THE CURRENT COMPILATION UNIT ONLY. 
          ESTABLISH HMEL IN CONTROL TO INDICATE THE HIGHEST MAX ERROR 
          LEVEL ISSUED FOR THE COMPILER RUN.
          THIS MOD ALLOWS THE COMPILER TO CONTINUE COMPILATION
          IN GENTEXT MODE DESPITE THE OCCURRENCE OF FATAL ERRORS IN A 
          PRECEDING COMPILATION UNIT. 
          SJK    78/10/24    CONTROL,PHASE10
  
 -CY50-   -------CY 50-------11/19/78----------(BELOW THIS LINE)--------
  
  
 LM8313   THIS IDENT PURGES ALL DECKS WHICH ARE EXCLUSIVELY USED BY THE 
          GLOBAL OPTIMIZER.  NOTE THAT THE DECKS ARE PHYSICALLY PURGED. 
          IN THE EVENT THAT SOMEONE WISHES TO RESURRECT THE GO AT SOME
          LATER DATE, THE PURGED DECKS CAN BE RESTORED BY GETTING ANY 
          RELEASED VERSION OF SYMPL 1.3 FROM SMD AND PUTTING THESE
          DECKS BACK ON THE PL. 
          IDENT -GOGONE- IS A COMPANION TO THIS IDENT, AND IT DELETES 
          ALL REFERENCES TO ANY OF THE PURGED DECKS.  THUS, -GOGONE-
          MUST ALSO BE PURGED TO RESTORE THIS TURKEY (THE GO).
          LEM    11/11/78    -SYM020-.OPT2DMP,-CMP020-.INIT22 
  
 LM8312   PURGE THE GLOBAL OPTIMIZER FROM THE SKELETON AND ADD
          SOME COMMENTS TO SPRUCE THE OLD SKELETON UP.... 
          LEM    11/11/78    SKELETON 
  
 GOGONE   THIS IDENT DELETES ALL EXPLICIT REFERENCES TO THE GLOBAL
          OPTIMIZER MECHANISMS NOT OCCURRING IN GLOBAL OPTIMIZER DECKS. 
          SPECIFICALLY IT REMOVES ALL GNL (GLOBAL NAMES LIST) STUFF 
          FROM PASS1 AND ALL REFERENCES TO VALU/VALB IN CG1.
          IT ALSO DISABLES THE -J- OPTION, AND REMOVES ALL VESTIGES 
          OF THE GO IN THE CRADLE AND SKELETON. 
  
          OTHER IDENTS WHICH AFFECT THE GLOBAL OPTIMIZER CODE ARE LISTED
          BELOW.  THERE MAY BE OTHER IDENTS WHICH AFFECT THIS AREA. 
          THESE WILL HOPEFULLY SHOW UP AS OVERLAPPING CORRECTIONS 
          IN THE UPDATE WHEN THE KNOWN IDENTS ARE PURGED. 
              LM8312  --  THIS IDENT ALSO INCLUDES SOME CLEANUP CODE
              LM8313
              BL8353
  
          LEM    11/11/78    CEXEC
                             SYMTEXT
                             CONCARD,CONTROL,INIT15,INIT16
                             INITS,PF12,PF13,PF1SUB 
                             BRKPT,EXPGEN,PHASBS
  
 LM8320  THIS IDENT CORRECTS A PROBLEM WHICH SHOWS UP IN A NON-DEBUG
          COMPILER ONLY.  AS A RESULT OF REWRITING PORTIONS OF THE XREF 
          PROCESSOR, IT NOW NEEDS SYMSM$.  IN A DEBUG COMPILER, SYMSM$
          GETS LOADED IN (0,0).  IN A NON-DEBUG COMPILER IT GETS LOADED 
          WHENEVER IT IS NEEDED.  THE ONLY PROBLEM IS THAT WHEN IT IS 
          LOADED IN (5,2) IT INTERFERES WITH THE COMPITATION OF THE 
          BUFFER SIZE WHICH CRF USES.  (IT ASSUMES THAT EVERYTHING
          BETWEEN INIT52 AND SYMSTART IS AVAILABLE.)
          SOLUTION -- PULL SYMSM$ IN (5,0) SO IT DOES NOT INTERFERE 
          WITH THE BUFFER SPACE COMPUTATION MECHANISM.  THIS SOLUTION 
          FAIRLY CLEAN EVEN THOUGH IS IS QUICK AND A LITTLE DIRTY.... 
         JSL     11/11/78    PHASE50
  
 JL8306   TURNS OFF COMPILATION OF DEAD CODE IN ANZS.  THAT CODE IS FOR 
          SYNTACTIC FUNCTIONS, WHICH ARE NOT CURRENTLY SUPPORTED BY 
          JENNY.  IF THAT EVER CHANGES,  THIS IDENT SHOULD BY PURGED. 
          JSL    11/02/78    ANZS 
  
 JL8307   CHANGES THE WAY GENTEXT KEEPS TRACK OF DTXT-S MOVED DURING
          A TEXT GENERATION.  PREVIOUSLY, A TABLE HELD THE OLD S.T. 
          INDEX AND THE NEW S.T. INDEX, REQUIRING A TABLE SEARCH
          AND ALLOWING THE POSSIBLITY OF A TABLE OVERFLOW.  THIS
          CODE CAUSES A POINTER TO THE NEW ENTRY TO BE STORED IN
          THE OLD ENTRY, NOW OF CLAS "EMPT". NLNK IS USED AS THE
          POINTER FIELD IN THE EMPTY ENTRY. 
          JSL    11/03/78    GENTEXT
  
 JL8311   A STATUS ITEM IN A TEXT WHICH WAS ASSOCIATED WITH A 
          LIST IN ANOTHER TEXT HAS ITS SLLK POINTING NOWHERE.  IN 
          SUCH A CASE, THIS CODE CAUSES THE SLLK TO POINT TO AN 
          "SNAM" ENTRY GENERATED BY GENTEXT.  CLASS SNAM REPLACES 
          CLASS DBUG.  USETEXT SETS THE NLNK OF SNAMS TO POINT AT 
          THE LIST, REQUIRING THAT IT BE A LOADED TEXT. 
          JSL    11/07/78    CEXEC,SYMT6C,TXTCOM
                             FRMNME,SDUMP,GENTEXT,USETEXT 
  
 JL8319   CAUSES USETEXT TO RELOCATE THE DMPY FIELD FOR CLASS BPAR. 
          ALSO KEEPS AROUND MULTIPLE COPIES OF CONSTANTS. 
          JSL    11/15/78    USETEXT
  
 JL8320   CAUSES THE MCNS FIELD IN TABL ENTRIES TO BE RELOCATED 
          IN USETEXT. 
          JSL    11/16/78    USETEXT
  
 WF8304   ALWAYS ISSUE DIAGNOSTICS SUMMARY UNLESS BOTH UNSUPPRESSED AND 
          SUPPRESSED DIAGNOSTIC COUNTS ARE ZERO.
          WGF    PHASE10, DIAGIV   11/01/78 
  
  
 -CY51-   -------CY 51-------11/28/78----------(BELOW THIS LINE)--------
  
  
 WF8304A  FIX A PROBLEM WITH WF8304 WHICH CAUSED THE **NO DIAGNOSTICS** 
          MESSAGE TO SHOW UP IN DAYFILE.  ALSO CLEAN UP DIAGIV MORE.
          LEM    11/26/78    DIAGIV 
  
 JL8330   ASSURE THAT NEEDED CONSTANTS ARE BROUGHT ALONG WITH A TEXT. 
          VARIOUS S.T. FIELDS, NOTABLY THOSE CONCERNED WITH ARRAY 
          BOUNDS, POINT TO S"CONS" ENTRIES.  INTERNAL PROC ENSCONS
          IS ADDED. 
          JSL    11/26/78    GENTEXT
  
  
 -CY52-   -------CY 52-------12/1/78-----------(BELOW THIS LINE)--------
  
  
 TEXTUAL0 THIS IS THE FIRST OF FOUR IDENTS IMPLEMENTING 
          SYMPL TEXTS IN THE SYMPL COMPILER.  THIS IDENT INTRODUCES FOUR
          NEW COMDECKS, MARKERS FOR THE STEXT DECKS, 3 NEW CWEORS, AND
          RENAMES SOME DECKS. 
          JSL    11/20/78    NEW COMDECKS: CEXECQ,COMEX,COMTF,SYMC5Q
                             NEW DECKS: -STEXT1-,-STEXT2-,
                                  CWEOR4,CWEOR5,CWEOR6
                             RENAMED:  SYMTEXT TO CTEXT 
                                       COM78 TO COM78Q
  
 TEXTUAL1 THIS IS THE SECOND TEXTUALIZATION IDENT.  IT CONCLUDES THE
          RESTRUCTURE OF THE PL.  THE CODE MOVED TO THE NEW COMDECKS
          IS DELETED, AND SOME OTHER CODE IS MOVED AROUND.  THE CWEORS
          ARE MOVED, AND THE RENAMING OF SYMTEXT AND COM78 ARE
          CONCLUDED.
          JSL    11/20/78    MODIFIED:  CEXEC,COM88,SYMC5,COM39 
                             COM88,COM88J,C7DECS
                             MOVED:  CWEOR1,CWEOR2,CWEOR3,SYMTEXT 
  
TEXTUAL2  THIS IDENT ADDS THE SYMPL TEXTS TO THE PL.  THERE ARE TWO 
          GROUPS;  THE FIRST CONTAINING THE STATUS LISTS AND DEFS 
          NEEDED TO COMPILE THE SECOND. 
          JSL    11/20/78    NEW DECKS:  TCEXECQ,TCOMTF,TCOM37Q,TCOM39Q,
                             TCOM78Q,TPAKDEF,TREGNOS,TSOURCE,TSYMCNS
                             TSYMC5Q,TTARGET; 
                             TCEXEC,TCOM39,TCOM88,TCOM88J,TCOM88K,
                             TC7DECS,TSTABLE,TSYMC5 
  
 TEXTUAL3 THIS IS THE LAST OF THE TEXTUAL IDENTS.  IT INSERTS USETEXT 
          DIRECTIVES AND DELETES *CALLS AS APPROPRIATE.  NEARLY ALL 
          SYMPL DECKS ARE MODIFIED. 
          JSL    11/20/78 
  
 JL8333   THIS IDENT PATCHES TEXTUAL2, WHICH BECAUSE OF A 
          CARD PUNCH HICCUP, HAS AN EXTRA *CALL STABLE IN TSTABLE 
          JSL    11/29/78    TSTABLE
  
  
-SYMPL14- -------SYMPL 1.4----------------------------------------------
  
          SYMPL 1.4 WAS FIRST RELEASED AT CY 52 (I2A) AS A NEWPL. 
          SUBSEQUENTLY AT CY 53 (I2B) A NEW PL WAS ALSO RELEASED WHICH
          CONTAINED SOME MORE CLEANUP CODE FOR SYMPL 1.4. 
  
  
  
 -CY53-   -------CY 53-------1/2/79------------(BELOW THIS LINE)--------
  
  
 MODLEV   THIS IDENT INTRODUCES THE FACILITY OF USING THE *ML* OPTION 
          ON THE COMPASS CONTROL CARD.  THIS ALLOWS THE PAGE HEADING TO 
          CONTAIN ADDITIONAL INFORMATION ABOUT THE COMPILER, SUCH AS
          A PSR NUMBER, FIX NAME, ETC.  THIS OPTION IS INTENDED TO BE 
          USED IN CONJUNCTION WITH THE SYMPL PROJECT PROCFIL. 
          LEM    1/2/79      CONCARD,VERSION
  
 BL9004   PROC AND FUNC NAMES CANNOT BE RESERVED WORDS.  IT IS A
          MESSY PROBLEM DUE TO THE WAY RESERVED WORDS ARE HANDLED.
          BLL    01/04/79    PF12,INITS,SYNTAX (ON ANOTHER PL)
  
 BL8353   THE VALUE OF LABL$W IS CORRECTED, AND CLASSES WHOSE LENGTH
          WAS DYNAMICALLY SET DEPENDING UPON THE PRESENCE OF THE
          GLOBAL OPTIMIZER HAVE BEEN CONVERTED INTO DEFS. 
          IF THE GLOBAL OPTIMIZER IS EVER RESURRECTED, CHECK THE
          HISTORY NARRATIVE UNDER IDENT GOGONE. 
          BLL    12/19/78    CEXEC, COMSTUF, TXTCOM 
                             INITS, SDUMP, USETEXT, GENTEXT 
  
 JL8345   CHANGE THE LEVEL OF 2 DIAGNOSTICS:  139, F TO W;  86, W TO F. 
          JSL    12/13/78    ERMSGS 
  
 JL8346   CHANGE ALL REFERENCES TO A FUTURE VERSION OF SYMPL IN THE 
          DIAGNOSTIC MESSAGES TO READ "FUTURE VERSIONS".
          JSL    12/14/78    ERMSGS 
  
 JL8347   IF BIT 1 OF OPTION IS CLEARED, INDICATING NO BEHAVIOR CONTROL 
          STATEMENTS WERE READ, ISSUE A D-LEVEL DIAGNOSTIC THAT WARNS 
          THE USER ABOUT THE CHANGE IN DEFAULT VARIABLE BEHAVIOR IN 
          FUTURE VERSIONS.
          JSL    12/13/78    ERMSGS,PF13
  
 JL8352   ADD DECK CWEOR7 AFTER SKELETON, TO BRACKET ALL THE
          DECKS BETWEEN CWEOR0 AND CWEOR7.
          JSL    12/19/78    NEW DECK: CWEOR7 
  
 JL8354   ADD 18 AND 42 TO LIST OF MACHINE DEPENDENT CONSTANTS.  THE
          PROCESSING TO DETECT USE OF A MACHINE DEPENDENT CONSTANT
          IS CHANGED.  A BIT VECTOR, MACHCONS, HAS BIT N-1 SET IF N 
          IS A MACHINE DEPENDENT CONSTANT.  ALSO, A PROBLEM WHERE 
          STATUS CONSTANTS ARE DIAGNOSED AS MACHINE DEPENDENT IS FIXED
          BY USING CSDF, THE FLAG IN THE CONSTRUCT STRING THAT SIGNALS
          A CONSTANT WHICH CAME FROM A DEF, TO FLAG CONSTANTS WHICH 
          CAME FROM STATUS CONSTANTS. 
          JSL    12/20/78    SCMAC,PF11,PF12,ERMSGS 
  
 LM8333   CLEAN UP ALOCTR -- IN PARTICULAR, REMOVE THE DUPLICATE DEFN 
          DIAG CAUSED BY DEF-ING OPTION TO INTOPS.  (FINALLY....) 
          LEM    12/8/78     ALOCTR 
  
 LM8360   PROBLEM -- A FILE CALLED *OUTPUT* IS CREATED EVEN IF L=0 AND
          NOTHING IS WRITTEN TO IT AT ALL.  AH HA, YOU MUST SAY... BUT
          WE FIXED THAT PROBLEM BEFORE.  TRUE ENOUGH.  BUT, LIFE BEING
          WHAT IT IS, VARIOUS OTHER CODE HAS SINCE GONE IN WHICH
          COMPROMISES THE PREVIOUS ATTEMPT. 
          SOLUTION -- MAKE THE NEW *WRITER* CHECK TO SEE IF THERE IS
          ANYTHING ON *OUTPUT* BEFORE DOING THE WRITE.  ALSO, INHIBIT 
          THE OPEN OF *OUTPUT* UNLESS WE ARE USING CRM (IE, SCOPE 2). 
          UNLESS WE SQUASH THE *OPEN*, AN *OUTPUT* FILE WILL BE CREATED 
          EVEN IF L=0 AND WE DO NOT WRITE ANYTHING TO IT.  CIO IS QUITE 
          CONTENT TO WRITE ON IT EVEN THOUGH IT WAS NOT OPENED. 
          LEM    11/28/78    CONTROL,CONCARD
  
 LM9002   FIX TEXT OF DIAG 145.  THE TEXT ERRONEOUSLY STATED THAT WHEN
          NO SUBSCRIPT FOR AN ARRAY ITEM WAS PRESENT, ZERO WAS USED.
          IN FACT, THE LOWER BOUND FOR THE ARRAY IS USED. 
          LEM    1/2/79      ERMSGS 
  
 LM9003   MODIFY PREVIOUS IDENT -APARM1- TO ACCEPT THE A-PARAMETER
          AS ET=T.  THIS IS MOST DIRECTLY COMPATIBLE WITH THE OLD PARM. 
          LEM    1/3/79      CONCARD
  
 WF8299   CHANGE THE PARAMETER PROCESSING IN CONCARD SUCH THAT IS EL IS 
          NOT SPECIFICALLY SET(DEFAULTS TO W) AND ET =D OR ET=T, THEN 
          EL IS SET TO ET.
          WGF    10/30/78    CONCARD
  
 SMPA152  DIAGNOSTIC 195 -PRESET TYPE DIFFERENT FROM ITEM TYPE IS 
          MACHINE DEPENDENT- WAS BEING ISSUED FOR A VALID REPEAT COUNT
          IN AN ARRAY ITEM PRESET.
          SOLUTION --  IF THE NEXT THING IN THE CONTRUCT STRING IS A
          LEFT PAREN (CLIST"LPARE0"), THEN THE CONSTANT IS A REPEAT 
          COUNT AND THE DIAGNOSTIC SHOULD NOT BE ISSUED.
          JSL    01/02/79    PF11 
  
 SMPA166  SWITCHES AND LABELS ARE ALLOWED BY GENTEXT, WHEN A FATAL
          DIAGNOSTIC SHOULD BE GIVEN.  USETEXT THEN MODES OUT WHILE 
          LINKING IN THE BAD TEXT.  CODE TO GENTEXT IS TO DETECT
          SWITCHES AND LABELS.  CODE TO USETEXT IS TO GIVE A SYMABT 
          ON A BAD CLAS.  SYMABT IS J868.  DIAG 45 CHANGED. 
          JSL    12/04/78    USETEXT,GENTEXT,ERMSGS 
  
 SMPA169  PROBLEM -- WHEN PRINTING THE MACHINE DEPENDENT DIAGNOSTIC 
          FOR OUT OF SCOPE GOTO-S (D197), THE DIAG WAS PRINTED WITHOUT
          GIVING THE NAME OF THE LABEL.  THIS CAUSES THE USER SOME
          INCONVENIENCE, ESPECIALLY IF THE SCOPE IS LARGE.
          SOLUTION -- PRINT THE LABEL NAME WITH THE DIAGNOSTIC. 
          PROBLEM 2 -- BACKWARD REFERENCING GOTOS WERE NOT BEING
          DIAGNOSED AT ALL. 
          SOLUTION 2 -- PUT IN CODE TO DIAGNOSE OUT OF SCOPE GOTOS
          WHEN THE GOTO IS RECOGNIZED.  ALSO LABELS OF A SWITCH MUST
          BE CHECKED FOR OUT OF SCOPENESS AT THE SWITCH DECLARATION.
          UNFORTUNATELY, EACH CONDITION IS A SPECIAL CASE -- GOTO,
          GOTO SWITCH, SWITCH, AND STATUS SWITCH. 
          LEM    12/16/78    PF1SUB,PF12,PF13 
 SMPA170  REPAIR MISSING REFERENCES TO LABEL STATEMENTS AND SOME FPRC-S 
          SUCH WILL NOW SHOW UP AS ATTRIBUTES ON THE REF LIST.  FPRC-S
          FOR FORMAL PARAMETERS WILL STILL BE DEFINITIONS THOUGH. 
          JPW     12/28/78         PF12 
  
 SMPA172  SUPPRESSES ERROR SUMMARY IF CONTROL CARD OPTION L EQ 0 AND
          NO ERRORS ARE TO BE LISTED. 
          JSL    12/11/78    DIAGIV 
  
 SMPA175  FIXES PROBLEM IN CRFLST WHERE DUMMYS OCCUR BECAUSE OF 
          UNDECLARED IDENTIFIERS.  CRFLST WAS LOOPING WHEN RLNK=0.  THE 
          "TYPE" FIELD IN THE LISTING CONTAINS "*UNDEC" FOR DUMMYS. 
          ALSO CHANGES THE DEBUG OPTION FOR THE TRACE TO *=?. 
          CHANGE COMMENT ON DUMY IN SWCLSC; CHANGE COMMENT AND FIELD
          IN FPAR CASE OF SWCLSC. 
          JSL    12/06/78    CRFLST 
  
 SMPA177  PROBLEM -- SYMPL WAS INADVERTANTLY CONSIDERING SWITCHES AS
          HAVING A TYPE (I/U/B/C) AND WAS ASSIGNING THEM RANDOM TYPES 
          IN THE CROSS REFERENCE LIST.
          SOLUTION -- CONSIDER SWITCHES TO BE UNTYPED.
          JSL    12/15/78    CRFLST 
  
 SMPA179  PROBLEM -- SYMPL GENERATED BAD CODE BY NOT LINKING A SCALAR 
          LOAD TO A REPL OF THE SAME SCALAR WHEN THE SCALAR WAS 
          SUBSCRIPTING AN ARRAY ITEM WHICH WAS THE OBJECT OF A LOC. 
          INSTEAD OF USING THE CORRECT VALUE, THE OLD VALUE WAS LOADED. 
          SOLUTION -- LINK IT UP CORRECTLY.  IT WASN-T BEING LINKED 
          BECAUSE PSTOU DOES NOT OPTIMIZE OUT LOCS, AND IT INCORRECTLY
          THOUGHT THAT THE SCALAR WAS THE OBJECT OF A LOC.
          LEM    12/14/78    CODGJ2 
  
 SMPA183  ENABLE SYMPL TEXT GENERATION TO CONTINUE EVEN THOUGH THE
          COMPILATION UNIT IS NOT A PRGM OR PROC.  DIAGNOSTIC 156 
          IS ISSUED AND THE FIRST ENTRY ON THE CODE SLC IS ALTERED
          TO MAKE IT ACCEPTABLE TO GENTEXT.  DIAGNOSTICS 156 AND 28 
          ARE MODIFIED TO INCLUDE THE NAME IN THE DIAGNOSTIC ISSUED.
          SJK    78/12/22    GENTEXT
  
 SMP*79   UPDATE COPYRIGHT TO INCLUDE 1979. 
          JSL    12/13/78    CTEXT,CONCARD
  
 BL9004A   PATCH PROBLEM IN CY53 BECAUSE OF PROBLEM IN BL9004.
           LEM     1/5/79       PF12
  
  
  
 -CY54-   -------CY 54-------01/31/79----------(BELOW THIS LINE)--------
  
  
 LM9008   PROBLEM -- WHEN THE COMPILER ABORTED, IT USUALLY PRINTED THAT 
          THE COMPILATION TIME WAS 0.000 SEC. 
          INTERNAL PROBLEM -- THE TOTAL TIME WAS NOT GETTING UPDATED
          FOR THE CURRENT MODULE IF AN ABORT OCCURRED.
          SOLUTION -- CALL TIME AND UPDATE THE TOTAL TIME OF COMPILATION
          ON ABNORMAL TERMINATION.
          NOTE -- THIS IDENT RELIES ON CODE IN LM9009 
          LEM    1/11/79     CONTROL
  
 LM9009   THIS IDENT CLEANS UP THE PROCESSING OF TIME IN CONTROL. 
          IT REMOVES THE NASTY PRESENT SITUATION WHEREBY THE TIME 
          COMPUTATION IS DONE IN COMPASS LITERALS.  THIS IDENT INTRO- 
          DUCES LEGITIMATE VARIABLES FOR THIS PURPOSE, WHICH WILL NOW 
          SHOW UP IN A CROSS REFERENCE. 
          THIS IDENT ALSO DOES SOME GENERAL CLEANUP OF CONTROL, AND 
          INTRODUCES A MACRO INTO THE COMPASS TEXT WHICH DOES THE 
          CONVERSION OF THE TIME FROM SEC/MILLI TO BINARY MILLI.
          LEM    1/11/79     CONTROL,CTEXT
  
 LM9010   SYMHB$ INEXPLICABLY APPEARS IN TWO PLACES ON THE PL NOW --
          IN THE CRADLE AS WELL AS IN THE OBJECT TIME ROUTINES. 
          ALSO, IT IS FORCED BY THE SKELETON INTO THE (0,0) OVERLAY EVEN
          THOUGH IT IS APPARENTLY NOT USED BY THE NON-DEBUG COMPILER. 
          THUS, IT APPEARS THAT THERE IS NO REASON IT CANNOT BE PULLED
          OFF SYMLIB AS NEEDED LIKE ANY OTHER STRING ROUTINE. 
          THIS IDENT REMOVES SYMHB FROM THE CRADLE AND THE SKELETON.
          LEM    1/10/79     SYMHB(PURGED),SYMHBS$,SKELETON 
  
 LM9011   PROBLEM -- WITH A DEBUG COMPILER, THE NAME OF THE PROC WAS
          NOT PRINTED IN THE DAYFILE OR THE SOURCE LISTING WHEN L=1.
          INTERNAL PROBLEM -- THIS IS STRICTLY A CONSEQUENCE OF THE FACT
          THAT THE FIRST MESSAGE WRITTEN TO OUTPUT (IE, *CALL INITS...*)
          IS WRITTEN BEFORE THE PROC NAME IS KNOWN.  THE NAME OF THE
          PROC FOR LISTING PURPOSES IS ONLY CHECKED FOR AT PAGE EJECTS. 
          THUS, EVERYTHING FELL BETWEEN THE CRACKS SINCE A L=1 LISTING
          IS NOT VERY LIKELY TO GENERATE ANOTHER PAGE EJECT.
          SOLUTION -- CALL THE ROUTINE TO ESTABLISH THE NAME OF THE PROC
          ALWAYS BEFORE OUTPUTTING THE COMPILATION TIME MESSAGE.  ALSO, 
          PRINT A SPECIAL MESSAGE GIVING THE PROC NAME IN THE LISTING 
          IF L=1 AND IT IS A DEBUG COMPILER.  (THIS IS NOT NECESSARY
          FOR A NON-DEBUG COMPILER SINCE *CALL INITS* IS NEVER PRINTED) 
          LEM    1/11/79     CONTROL
  
 LM9012   PROBLEM -- THE ELAPSED CP TIME WHICH IS PRINTED IN THE DEBUG
          COMPILER UPON ENTERING EACH MAJOR PHASE (CALL INITS  ET=...)
          WAS ALWAYS PRINTED IN OCTAL.  THIS WAS JUST A MUNOR NUISANCE
          UNLSEE THE TIME WAS NEEDED FOR COMPUTATION. 
          SOLUTION -- CONVERT THE TIME TO DECIMAL AND PRINT IT. 
          NOTE -- THIS IDENT REQUIRES CODE IN LM9009. 
          LEM    1/11/79     CONTROL
  
 JL9015   CAUSES CODE TO USE IDP OR CID TO BE SUPPRESSED IF THE OS
          IS SCOPE 2.  ALSO INHIBITS GENERATION OF A CID USABLE 
          BINARY ON SCOPE 2 EVEN IF DB SPECIFIED. 
          JSL    01/15/79    CTEXT,CONCARD,CONTROL
  
 JL9018   PROBLEM -- DEF PARAMETERS ARE LINKED TOGETHER BY THE PARLNK 
          FIELD;  USETEXT ASSUMED THAT THE PARLNK OF THE LAST DEF 
          PARAMETER WOULD BE ZERO.  IT IS NOT, BEING USED TO LINK UP
          NESTED DEFS.
          SOLUTION -- CHANGE USETEXT SO THAT IT LOOPS ON THE
          NUMBER OF PARAMETERS RATHER THAN UNTIL PARLNK IS ZERO.
          THIS IDENT ALSO MODIFIES SYMT6C SO THAT PARLNK SHOWS UP 
          IN SYMBOL TABLE DUMPS AS "PARL".
          JSL    01/18/79    SYMT6C,USETEXT 
  
 JL9026   PROBLEM -- CANNOT GENERATE A TEXT UNDER SCOPE 2 WITH AN SCM 
          COMPILER.  THE REASON IS THAT CODE IN WST IN INIT14 WHICH 
          WAS COMPILED UNDER SCOPE 2 DEPENDED ON CODE COMPILED ONLY 
          IN AN LCM COMPILER. 
          SOLUTION -- X3 WAS SET IN THE LCM CODE.  MOVE THE INSTRUCTIONS
          TO SET X3 OUT OF THE CONDITIONAL CODE SO THAT IT WILL BE SET
          FOR THE SCOPE 2 CRM CODE. 
          JSL    01/26/79    INIT14 
  
 JL9027   DEFINE STHASH, THE HASH FUNCTION FOR SYMBOL TABLE NAME
          ENTRIES. IT RESIDES IN A NEW COMDECK, HASHCOM.
          JSL    01/28/79    SRCH,USETEXT,GENTEXT 
                             NEW COMDECK: HASHCOM 
  
 JL9028   CLEANS UP SOME DIAGNOSTICS WHOSE TEXTS WERE SCREWED UP. ALSO
          MOVES THE LINE FOR DIAGNOSTIC 86 TO ITS PROPER PLACE. IT WAS
          MISPLACED BY JL8345.
          JSL    01/28/79    ERMSGS 
  
 LM9025   THIS IDENT CLEANS UP THE LISTING OF DIAGNOSTIC MESSAGES EVER
          SO SLIGHTLY.  IT INSERTS A BLANK LINE BETWEEN THE SOURCE
          LISTING AND THE ERROR SUMMARY (OR THE *NO DIAGS*) MESSAGE.
          THE TEXT OF THE DIAGNOSTIC MESSAGE FROM THE ERROR SUMMARY BY
          GIVING THE LATTER A PREFIX OF "**" INSTEAD OF "***".
          LEM    1/25/79     DIAGIV 
  
 LM9030   AS USUAL, BILL FIRTH PUT HIS CODE IN THE WRONG PLACE.  THE
          CODE TO DEFAULT *EL* TO *ET* IF *EL* IS DEFAULTED AND HIGHER
          THAN *ET* OCCURRED BEFORE THE CODE WHICH TURNED ON *ET* IF
          THE OLD *A* PARAMETER WAS USED.  CONSEQUENTLY THE USER COULD
          GET ABORTED FOR ERRORS WHICH ARE NEVER PRINTED.  WHICH BRINGS 
          US BACK, UNFORTUNATELY, TO THE ORIGINAL PROBLEM.  SIGH....
          LEM    1/30/79     CONCARD
  
 SMPA185  APPARENT PROBLEM:  IN TEXT GENERATION, THE LOC FIELD OF THE 
          STORAGE MAP SHOULD ALWAYS BE ZERO.  SOME ARRAYS HAD A NON-
          ZERO LOC, WITH A LARGE, MEANINGLESS NUMBER. 
          ACTUAL PROBLEM:  IN QCLAS"TABL" ENTRIES, THE LOCN FIELD IS
          OVERLAYED BY MCNS, SOMETIMES A S.T. INDEX TO A CONS ENTRY.
          SOLUTION:  IN MAPCRF;  IF GENTEXTF, THEN ZERO LOCN FOR
          QCLAS"TABL" ENTRIES.  REQUIRES CHANGING THE POINT 
          WHERE GENTXTF IS CLEARED TO REINITIALIZATION. 
          JSL    01/05/78    MAPCRF,CONTROL 
  
 -CY55-   -------CY 55------02/27/79-----------(BELOW THIS LINE)--------
  
  
 LM9052   CHANGE LEVEL OF DIAG D013 TO -W- AND CHANGE THE TEXT TO 
          REFLECT WHAT REALLY HAPPENS.  (ILLEGAL STATUS ITEM USAGE) 
          LEM    2/21/79     ERMSGS,ETABI,ERLEV 
  
 LM9051   THIS IDENT CLEANS UP COM88J A LITTLE BIT. 
          -REFORMATS AND CLEANS UP COMMENTS FOR ICFTPADINT, ETC.
          -ADDS COMMENTS FOR CANNED CODE ARRAYS 
          -CHANGES -RJ *- IN FORMAL PROC CALL TO -RJ *+400000-
          LEM    2/20/79     COM88,COM88J,TCOM88,TCOM88J
  
 SMPA138A CHANGE THE TEXT OF THE DIAG TO REFLECT WHAT IS REALLY GOING 
          ON -- P-FUNCTION SET TO EXPRESSION ALSO TRIGGERS TIE ERROR. 
          LEM    2/21/79     ERMSGS,ETABI,ERLEV 
  
 SMPA190  PROBLEM -- THE DAYFILE MESSAGES PRODUCED WHEN THERE ARE 
          ERRORS IN TEXT GENERATION NEED TO APPEAR ALSO ON THE OUTPUT 
          LISTING.  THERE ARE TWO CASES:  
          1)  WHEN SOURCE ERRORS OCCUR, TEXT GENERATION IS NOT BEGUN. 
            ONLY THE MESSAGE  "SYMPL TEXT NOT WRITTEN" IS ISSUED. 
          2)   IF THE SOURCE IS NOT VALID AS A SYMPL TEXT (E.G.,
            CONTAINS LABELS OR EXECUTABLE CODE) THE MESSAGE 
               "ERRORS IN TEXT GENERATION"
            ALSO APPEARS. 
          SOLUTION -- 
          IN BOTH CASES, INSERT CALLS TO PTLSTV WITH CORRESPONDING
          MESSAGE.
          JSL    02/15/79    PHASE10
 SMPA195  THERE IS SOME PROBLEM CAUSED BY THE FIX FOR PSR SMPA186 WHICH 
          CAUSES A REGRESSION IN THE TESTBASE, SPECIFICALLY 1210B.
          THE SOLUTION TO THIS PSR IS TO PULL SMPA186 AND FIX IT
          SO THAT IS CAUSES NO FURTHER REGRESSIONS. 
          LEM    2/27/79     ALL TEXTS IN CWEOR1.CWEOR2 
  
 SMPA198  SYMPL TEXTS HAVE SEVERAL PROBLEMS UNDER SCOPE 2.  THIS
          PSR RESPONDS TO ALL KNOWN PROBLEMS, ANY OF WHICH WILL PREVENT 
          BUILDING SYMPL (OR ANY PRODUCT USING TEXTS) ON SCOPE 2. THE 
          PARAGRAPHS BELOW DESCRIBE THE PROBLEMS. 
  
          PROBLEM -- CANNOT USE TEXTS IN SCOPE 2.  THE CAUSE IS IN BYT, 
          WHERE THE PREFIX TABLES OF ALL TEXTS IN THE YFILES ARE READ.
          BYT WAS READING WITH A GETW, WHICH PULLED THE ENTIRE TEXT.
          SOLUTION IS TO READ WITH A GETWP, AND ONLY READ IN THE
          PREFIX TABLE.  THEN A SKIPFL HAS TO BE DONE TO SKIP TO THE
          NEXT SYSTEM-LOGICAL-RECORD, AS THE GETWP ONLY READS ONE 
          W TYPE RECORD.  THE FIT DECLARATION IS ALSO CHANGED TO
          CORRECTLY REFLECT THE SIZE OF THE BUFFER. 
  
          GST IN INIT15 WAS READING SYMPL TEXTS INTO LCM REGARDLESS OF
          THE FACT THAT THE SYMBOL TABLE WAS IN SCM (THIS UNDER SCOPE 2)
          SOLUTION IS TO MAKE SOME CODE IN INIT15 THAT WAS UNDER CONTROL
          OF #RM ALSO UNDER COMPILATION CONTROL OF #LEV.
  
          UNDER SCOPE 2, INIT15 WAS ONLY READING IN PART OF THE STEXT 
          RECORD.  THIS HAPPENED WHEN THE LENGTH OF THE TEXT RECORD 
          WAS GREATER THAN MRL.  SOLUTION -- BEFORE THE READ, STORE 
          THE LENGTH OF THE TEXT RECORD AS MRL. 
  
          THIS CODE IS TO GET AROUND A BUG IN COPYL.  IN SCOPE 2, TEXTS 
          ARE WRITTEN AS A W-RECORD FOLLOWED BY AN EOS.  COPYL WAS
          SPLITTING THESE INTO 2 (OR MORE) W-TYPE RECORDS.
          SOLUTION -- UNTIL COPYL GETS FIXED, READ IN W RECORDS UNTIL 
          THE TOTAL NUMBER OF WORDS EQUALS THE SIZE OF THE RECORD.
  
          PATCH TO JL9026, WHICH WORKED ON THE SCM COMPILER, BUT
          ON THE LCM COMPILER.  PROBLEM WAS THAT WST IN INIT14 WAS NOT
          NOT TESTING TO SEE IF THE STUFF BEING WRITTEN WAS THE TEXT OR 
          NOT, AND WAS WRITING OUT EVERYTHING FROM LCM. 
          JSL    02/16/79    INIT14,INIT15
  
 -CY56-   -------CY 56------03/03/79-----------(BELOW THIS LINE)--------
  
  
 JL9061   PROBLEM -- DURING TEXT LINKING, USETEXT WOULD GO INTO A LOOP. 
          THE REASON WAS THAT WHEN DEF PARAMS WERE RENAMED, THEY WERE 
          NOT PROPERLY REMOVED FROM THE TEXT TABLE HASH CHAIN, IF THEY
          WERE THE FIRST THING ON THE CHAIN. TCTHASH[H] WAS SET TO ZERO,
          THROWING AWAY ANYTHING ELSE ON THE CHAIN. 
          SOLUTION -- IF THE DEF PARAM NAME IS THE FIRST ENTRY ON THE 
          HASH CHAIN, SET TCTHASH[H] = HLNK[TCTHASH[H]].
          JSL    03/02/79    USETEXT
 *L498*    ************************************************ 
  
 SMPA186  PROBLEM -- SYMPL 1.4 EXHIBITS A 6-PERCENT DEGRADATION IN
          CP TIME FOR COMPILATIONS. 
          INTRENAL PROBLEM -- VARIABLES WHICH WERE PLACED INTO SYMPL
          TEXTS FOR THE 1.4 RELEASE WERE *BADLY BEHAVED* BECAUSE
            1.  THERE WERE NO *WELL BEHAVED* STATEMENTS IN THE TEXTS
            2.  USETEXT STATEMENTS OCCUR FIRST IN THE DECK, THUS ANY
                GLOBAL CONTROL STATEMENTS IN THE PROGRAM HAVE NO EFFECT 
                ON VARIABLES LINKED IN FROM TEXTS.
            3.  CONTROL STATEMENTS ARE NOT RETROACTIVE. 
          BECAUSE THE OPTIMIZATION ATTRIBUTE WAS SET WRONG, SYMPL DID 
          NOT LINK OUT THE PROPER STORES, THUS THE OBJECT CODE WAS SLOW.
          SOLUTION -- INSERT CONTROL *WELL BEHAVED* STATEMENTS IN THE 
          TEXTS, SO THAT ALL TEXT VARIABLES CARRY THE CORRECT ATTRIBUTE.
          LEM    1/24/79     ALL STEXT AND SYMPL DECKS
 *L505*    ************************************************ 
  
 F2950SY  PROBLEM -- IF A USER DOES A RETURN TOO SOON AFTER ENTERING
          AN ALTERNATE ENTRY POINT, IT IS POSSIBLE THAT THE UNMODIFIED
          RETURN CELL MAY STILL BE PRESENT, THUS CAUSING THE PROGRAM TO 
          EITHER TAKE A MODE OR GO OFF TO THE WRONG ADDRESS.
          SOLUTION -- FIX THE CODE FOR MULTIPLE ENTRY PROC TO ISSUE 
          A -RJ- AFTER STASHING THE RETURN ADDRESS BEFORE ANY SUBSEQUENT
          CODE CAN INTERVENE.  TO DO THIS, THE ENTRY PROCESSING MUST
          BE REVAMPED TO USE THE CANNED CODE MECHANISM.  THIS GUARANTEES
          THAT THE CODE CANNOT BE SCHEDULED AROUND. 
          ALSO -- THIS IDENT ADAPTS SYMPL TO GENERATE CODE FOR THE NEW
          HF MICRO AND ECS. 
          LEM    2/21/79     CODGJ3,COM88J,TCOM88J
                             CTEXT,CONTROL,INIT15 
SMPA196   PROBLEM: NULL LABELS IN A STATUS SWITCH DECLARATION ARE 
          GETTING DIAGNOSTICS 197(OUT-OF-SCOPE GOTO IS MACHINE
          DEPENDENT.) THE REASON FOR THIS IS SSP[TYPA] IS ZERO
          WHEN A SWITCH IS NULL, AND AN STP OTHERWISE.  NO CHECK IS 
          MADE FOR SSP EQUAL TO ZERO.  ALSO LREF[0] IS SOMETIMES
          ERRONEOUSLY SET.
          THE SOLUTION TO THIS PROBLEM IS TO CHECK FOR SSP EQUAL TO 
          ZERO. 
          JSL     04/02/79     PF12 
 SMPA207  PROBLEM -- CHARACTER ITEMS WHICH ARE DEFAULTED TO 1 CHAR ARE
          DIAGNOSED AS DOCUMENTED, HOWEVER INTERNALLY THEY SHOW UP WITH 
          A ZERO LENGTH, INSTEAD OF 1.
          OBSERVED PROBLEM -- BECAUSE THE DIAGNOSTIC WAS ISSUED, EVERY- 
          THING LOOKED FINE TO THE USER, ESPECIALLY SINCE THE CODE
          NORMALLY WORKED.  THE BAD CASE WAS WHEN A CHAR ITEM OF
          DEFAULTED LENGTH WAS A PROTECTED FORMAL PARAMETER, CG2 COULD
          NOT HANDLE IT.
          INTERNAL PROBLEM -- CG2 WAS SYSTEMATICALLY UNDERFLOWING THE 
          ICFT AND WRITING MEMORY UNTIL IT DOWN TO RA SOMETIMES.
          DEPENDING UPON EXACTLY WHAT WAS IN MEMORY, THE COMPILER 
          MAY HAVE TAKEN A MODE, TIME LIMIT, OR PP CALL ERROR.
          SOLUTION -- MAKE THE CHAR ITEM TRULY DEFAULT TO 1, AND CLEAN
          UP THE CODE IN CG2 WHICH OBJECTED SO VIOLENTLY TO THE BAD 
          INPUT.  ALSO, CLEAN UP THE ABORT PROCESSING TO MAKE SURE THAT 
          THIS CONDITION WILL ALWAYS BE CAUGHT AS AN ABORT, EVEN ON 
          A DEBUG COMPILER, RATHER THAN SOME OTHER MYSTERIOUS ERROR.
          LEM    4/13/79     PF12,CODGJ1,CODGJ3 
  
 SMPA208  PROBLEM -- ILLEGAL USE OF Z OR Y CONTROL CARD OPTION
          CAUSES ILLEGAL FUNCTION CODE.  REASON IS THAT IN BOTH 
          CASES, THERE IS A JUMP TO ABT, WHICH TRIES TO READ THE
          INPUT FILE TO END OF RECORD.  WHEN THE INPUT FILE IS
          NOT FILE INPUT, WE GET AN ILLEGAL FUNCTION.  ANOTHER
          PROBLEM IS THAT WHEN GST CANT FIND A TEXT IN THE
          LIBRARIES, IT JUMPS TO ABTEND.  THIS CAUSES JOB ABORT,
          EVEN WHEN ET=0. 
          SOLUTION -- CHANGE THE CALLS TO ABT IN CONCARD TO 
          CALLS TO ABTEND.  CHANGE THE CALLS TO ABTEND IN INIT15
          TO JUMPS TO GST16, WHERE SYMABT IS CALLED.
          JSL    04/30/79    CONCARD,INIT15 
  
 SMPA209  PROBLEM -- IF THE USER HAS A GLOBAL "DEBUG,ON" COMMAND IN 
          EFFECT, SYMPL PRINTS THE MESSAGE "DEBUG FORCED ON" EVEN IF
          THE USER EXPLICITLY SPECIFIED DB ON THE CONTROL CARD. 
          SOLUTION -- HAVE THE EXPLICIT DB OPTION RESET THE DEBUG 
          FORCED FLAG SO THE MESSAGE WILL NOT BE PRINTED. 
          LEM    5/7/79      CONCARD
 *L508*    ************************************************ 
  
 SMPA076  PROBLEM -- ARITHMETIC OR MASKING OPERATIONS WITH
          CHARACTERS OF LENGTH GR 10 IS REJECTED.  DIAGNOSTIC 127 IS
          ISSUED, MISLEADINGLY, AND THE OPERATOR IS NOT WRITTEN TO THE
          IL.  AN ABORT IN CG1 SOMETIMES RESULTS. 
          SOLUTION -- GET RID OF THE TEST FOR THE LENGTH.  THE WHOLE
          ALGORITHM FOR GENERATING OF THE CHARACTER CONVERSION IS 
          CHANGED TO MAKE IT CLEARER. 
          JSL    04/27/79    PF13 
  
 SMPA160  ARRAY ITEMS WITH NBIT (NCHAR) OF ZERO ARE NOT BEING 
          DIAGNOSED.  SOLUTION IS TO ISSUE D034, AND FORCE THE SIZE 
          TO DEFAULT.  THIS REQUIRES DIFFERENT MODS FOR MIS AND NON-MIS 
          ARRAYS.  FOR MIS, SIZE$AU IS SET IMMEDIATELY DEPENDING ON THE 
          TYPE OF THE ITEM. FILLER ITEMS ARE ALLOWED TO HAVE A ZERO 
          SIZE.  FOR NON-MIS, THE SPECIFICATION IS SIMPLY IGNORED AND 
          ALLOWED TO DEFAULT.  ALSO THE TEXT OF DIAGNOSTIC 203 CHANGED
          TO READ "ARRAY ITEM LENGTH MUST BE AN UNSIGNED CONSTANT". 
          D203 IS ISSUED WHEN AN ITEM OR A SIGN IS FOUND. 
          LOCAL DATA DECLARATIONS IN PF12 ARE MOVED TO THE BEGINNING. 
          ALOCTR GETS BIT BY THIS, SO THE UNUSED DECL CAUSING THE ERROR 
          IS REMOVED. 
          JSL    02/27/79    PF12,ERMSG,ALOCTR
  
 SMPA168  PROBLEM -- NOT ALL OCCURENCES OF MACHINE DEPENDENT DIAGNOSTICS
          ARE BEING FLAGGED.
          REASON -- CSDF, WHICH INDICATES A CONSTANT WHICH COMES FROM A 
          DEF, IS NOT BEING CLEARED.  ALSO, DEFCHR, WHICH INDICATES 
          TO SPRECG THAT THE CHARACTER IT'S GETTING IS FROM A DEF,
          IS ONLY CLEARED IF THE CHARACTER IS A DIGIT.
          SOLUTION -- CLEAR CSDF IN SPRECG WHENEVER A NEW CONSTRUCT IS
          ADDED.  RESET DEFCHR IN INIT16 IF THE CHAR IS FROM A DEF. 
          ADD CODE TO DUMPIT IN ANZS TO LIST CSDF[POZN] IF *=6. 
          JSL    03/14/79    ANZS,SPRECG,INIT16 
  
 SMPA197  PROBLEM: DIAGNOSTIC 199 IS NOT ISSUED FOR CHARACTER ITEM
          DECLARATION THAT CROSSES WORD BOUNDARIES AS SPECIFIED IN
          THE ARRAY DECLARATION. THE EXISTING CODE CHECKS THE WORD
          NUMBER ONLY.
          SOLUTION: THIS CORRECTION SET CHECKS THE WORD NUMBER,FBIT 
          AND NBYT OF CHARACTER ITEMS ALL AT ONCE.
          HSW    06/02/79    PF12 
  
 SMPA201  PROBLEM -- ON SCOPE 2,  CHARACTERS APPEARING IN COLUMN 71 AND 
          ON MAY BE DUPLICATED ON THE NEXT LINE IF THE NEXT LINE DOES 
          NOT GO OUT THAT FAR.
          REASON -- IF A WORD CONTAINS UNUSED BITS, IT IS COUNTED IN THE
          WORD COUNT.  FA=RDH WAS TESTING FOR WORDCOUNT EQ 8, THUS
          ACCEPTING 71 COLUMNS AS A FULL LINE, NOT NEEDING BLANK FILL.
          SOLUTION -- CHANGE FA=RDH, THE DECK THAT CONTAINS CODE TO DO
          READH ON SCOPE 2 SO THAT IT TESTS FOR WORD COUNT EQ 9.
          JSL    05/24/79    FA=RDH 
 SMPA212  PROBLEM: AS A TRIVIAL ERROR, DIAGNOSTIC 19 IS NOT PRINTED 
          FOR DUPLICATE DECLARATIONS IN THE DEFAULT CASE. 
          SOLUTION: THIS CORRECTION SET CHANGES DIAGNOSTIC 19 FROM
          TRIVIAL LEVEL TO WARNING,THUS ENABLING MESSAGE TO BE ISSUED.
          HSW    6/26/79     ERMSGS 
  
 SMPA213  PROBLEM -- THE LIMITS FOR THE NUMBER OF TEXTS ON USETEXTS 
          AND THE NUMBER OF TEXTS ON ALL YFILES IS TOO LOW FOR SOME 
          USERS.
          SOLUTION -- RAISE THE NUMBER OF TEXTS ON YFILES AND THE 
          NUMBER OF TEXTS ON USETEXTS TO 64.  THIS NECESSITATES 
          CHANGING THE SIZE OF THE YAT, THE UTT, THE CRFLST TEXT
          TABLE, AND THE DAYFILE AND ERROR MESSAGES ISSUED WHEN 
          THE LIMITS ARE EXCEEDED.
          JSL    6/28/79     CONTROL,INIT15,CRFLST
  
 SMPA215  PROBLEM -- THE CODE FOR F2950SY INADVERTANTLY CAUSED A
          MICRO SUBSTITUTION ERROR IN THE COMPASS TEXT. 
          SOLUTION -- CHANGE CONDITIONAL CODE TO TEST FOR PRESENCE
          OF THE MICRO, RATHER THAN ITS CONTENT, WHICH WAS ALL THAT 
          WAS NEEDED ANYWAY.
          ANOTHER PROBLEM -- THE SYSTEM TEXTS ON NOS HAVE A MOVE MACRO
          WHICH CAUSES A NAME CONFLICT WITH THE SYMPL MACRO BY THE SAME 
          NAME. 
          SOLUTION -- ISSUE -PURGMAC- PSEUDO INSTRUCTIONS BEFORE THE
          SYMPL VERSION OF THE MOVE MACRO.  ALSO INSERT THEM BEFORE 
          EVERY MACRO IN CTEXT WHICH DOES NOT ALREADY HAVE ONE IN 
          ORDER TO PREVENT ANY FUTURE VARIATIONS OF THIS PROBLEM. 
          LEM    6/19/79     CTEXT
  
 SMPA221  PROBLEM -- SMPA213 CHANGED INIT15 SO THAT 64 USETEXT
          DIRECTIVES ARE ACCEPTED.  HOWEVER, PAST THE FIRST 16
          THEY WERE IGNORED.  THIS ARISED BECAUSE PUD WAS CHANGED 
          AND GST, WHICH READ THE UTT, WASN'T.
          SOLUTION -- FIX GST TO USE THE SYMBOL L.UTT RATHER THAN 
          CONSTANT 16.
          JSL    8/3/79      INIT15 
  
 SMPA224  FIX UP CONCARD SO THAT IT ACCEPTS NULL PARAMETERS ON THE
          CONTROL CARD.  THIS CHANGE IS EXPECIALLY NECESSARY IN A CCL 
          ENVIRONMENT TO PROVIDE GREATER FLEXIBILITY. 
          LEM    8/23/79     CONCARD,CONTROL
 SMP0161  PROBLEM : SYMPL COMPILER USES A CONSTANT TO 
          DEFINE PAGE SIZE. 
          SOLUTION: IPARAMS ARE USED TO DEFINE PAGESIZE.
          HSW    6/18/79     CTEXT
 *L518*    ************************************************ 
  
 BYPHASE  INSERT CODE INTO COMPILER TO PRINT OUT DAYFILE MESSAGES WHICH 
          BREAK OUT THE TIME SPENT BY THE COMPILER BY PASSES. 
          THIS IS TO SUPPLY THE SYMPL PROJECT A MORE ACCURATE IDEA OF 
          EXACTLY WHERE THE COMPILER IS SPENDING ITS TIME FOR A WIDER 
          VARIETY OF PRODUCTS.
          LEM    11/7/79     MODIFIED TO CALL ACTBP AFTER MAP CORRECTLY 
  
 EMPTYMSG THIS IDENT INSERTS DUMMY DIAG NUMBERS IN THE DECK -ERMSGS-
          SO THAT IN THE FUTURE ALL ADDITIONS TO THE DIAGS CAN BE 
          INSERTED UNAMBIGUOUSLY. 
  
          HENCEFORTH, TO INSERT DIAG NUMBER XXX, THE UPDATE DIRECTIVE IS
           *D EMPTYMSG.XXX
  
          **NOTE** BECAUSE THE B-OPTION IS USED ON THIS UPDATE IDENT
          TO SYNCHRONIZE THE DIAGNOSTIC NUMBERS AND THE UPDATE SEQUENCE 
          NUMBERS, NO MORE CARDS CAN BE INSERTED ANYWHERE IN THE DECK 
          WITHOUT COMPENSATING THE NUMBER IN THE B-OPTION.
          LEM    10/2/79     ERMSGS 
  
 SMP*80   COPYRIGHT CODE FOR 1980.
          LEM    10/10/79    CTEXT,CONCARD
  
 SMPA124  PROBLEM: DIAGNOSTIC IS NOT ISSUED FOR FUNCTION DECLARATION
            AND FORMAL PARAMETER WITH THE SAME NAME.  ALSO,THE
            EXISTING DIAGNOSTICS DO NOT DESCRIBE THE PRESENT
            ERROR CONDITION ACCURATELY. 
  
          SOLUTION: ROUTINE "FIND" IS CALLED IN WFN66B TO LOCATE
            THE NAME ENTRIES FOR THE FUNCTION HEAD AND THE
            PARAMETER ASSOCIATED WITH THAT FUNCTION.  IF THE TWO
            ARE THE SAME, THEN ISSUE DIAGNOSTIC 224 WHICH IS ADDED
            TO THE DIAGNOSTIC LIST IN THE IDENT.
          HSW    08/16/79    PF12,ERMSGS,ETABI,ERLEV
  
  
SMPA137   PROBLEM -- FORMAL FUNCTION DECLARED AS VALUE PARAMETER CAUSES 
            MODE 1 ERROR. 
          SOLUTION -- PASS 1 IS CHANGED TO TRAP THIS CASE AND 
            ISSUE A DIAGNOSTIC. 
          HSW    7/23/79     PF12 
  
 SMPA165   PROBLEM -- SYMPL DOES NOT ISSUE DIAGNOSTIC FOR 
             ITEM DESCRIPTOR OF TYPE D (DOUBLE PRECISION).
           SOLUTION -- DELETE ALL REFERENCES TO STATUS LIST 
             ITEM DBL IN INITS,PF12,PF13. 
           HSW    09/25/79    INITS,PF12,PF13 
 SMPA218  PROBLEM -- IF A FORMAL PARAMETER OF A PROCEDURE IS NOT
            WELL DEFINED IN A SCOPE, THEN SYMPL WILL ISSUE DIAG 69
            WHICH IS MISLEADING TO THE TYPICAL USER.
          SOLUTION -- THE TEXT OF DIAG 69 IS CHANGED IN THIS IDENT. 
          HSW    01/10/80    ERMSGS,ETABI,ERLEV.
  
 SMPA220  PROBLEM -- MANY TIMES WHEN A SOURCE PROGRAM HAS ITS 
          SCOPE MESSED UP, THE COMPILER WILL EITHER TAKE A MODE 
          OR ISSUE AN ABORT 828, "UNEXPECTED END ON THE IL-FILE." 
          INTERNAL PROBLEM -- THE MOST COMMON WAY TO MESS UP
          THE SCOPE OF A SOURCE PROGRAM IS TO HAVE MISSING ENDS.
          WHEN THE SCOPE IS MESSED UP,  IT CAUSES THE HATCHK
          TABLE TO BE IN ERROR, AND THIS CAN CAUSE THE COMPILER 
          TO ABORT OR TAKE A MODE.
          SOLUTION -- IF THE HATCHK TABLE IS FOUND TO BE MESSED 
          UP THEN THE HATEND PROCESSING IS SKIPPED AND THE CODE 
          GENERATION IS SUPPRESSED FOR THE CURRENT MODULE.
          DJJ    01/10/80    HATCHK,ETABI 
  
 SMPA222  PROBLEM -- IF A REAL EXPRESSION WAS USED IN A -STEP - OR
          -UNTIL- PART OF A FAST FOR LOOP, THE CODE WAS NOT GENERATED 
          TO CONVERT THE REAL EXPRESSION TO INTEGER, THUS CAUSING 
          ERRONEOUS RESULTS.
          SOLUTION -- INSERT CODE IN SCAN 4 TO CONVERT IN THESE CASES 
          IF IT IS NECESSARY. 
          LEM    8/27/79     PF13 
  
SMPA225   PROBLEM-- SYNTAX ERRORS IN DECLARATIONS SOMETIMES 
            GENERATE DIAGNOSTIC 26 (MISSING SEMICOLON) WHICH CAN
            BE MISLEADING TO THE SYMPL USER.
          SOLUTION-- THE TEXT OF DIAGNOSTIC 26 ITSELF IS CHANGED TO 
            MAKE THE ERROR CONDITION MORE APPARENT. 
          HSW    08/29/79    ERMSGS,ERLEV,ETABI 
  
  
 SMPA227  PROBLEM -- SYMPL NEVER TOLD THE USER WHAT PAGES CONTAINED 
          DIAGNOSTICS.  ON LARGE LISTINGS WITH SMALL NUMBERS OF ERRORS, 
          THIS WAS A MAJOR NUISSANCE. 
          SOLUTION -- HAVE SYMPL PRINT A LIST OF THE PAGE NUMBERS ON
          WHICH THERE WERE ERRORS.
          LEM    10/2/79     PTLST,DIAG,DIAGIV,SYMC5
          MESSAGE MUST NOT PRINT OUT IF L=0 OR L=1. 
          LEM    10/31/79    DIAGIV 
  
 SMPA228  PROBLEM -- EXPLICIT MACHINE DEPENDANT CONSTANTS ARE NOT 
          ALWAYS BEING FLAGGED BY DIAG 198. 
          REASON -- IF A CONSTANT IN A TEXT MUST BE BROUGHT ALONG 
          WITH THE TEXT (CF JL8330), MORE THAN ONE CONS ENTRY 
          FOR THE SAME VALUE ON THE NLNK CHAIN MAY RESULT.
          NLNK OF THE CONS ENTRY MAY THEREFORE NOT POINT TO THE 
          NAME ENTRY.  SUCH WAS THE CASE IN TONIGHTS STORY. 
          SOLUTION -- AT AOPI IN PF13, WHERE MACHINE DEPENDANT
          CONSTANTS ARE DISCOVERED, CALL FIND TO OBTAIN THE VALUE.
          JSL    10/16/79    PF13 
  
 SMPA230  PROBLEM -- WHEN AN ILLEGAL CHARACTER IN INPUT IS
          DETECTED, THE OFFENDING CHARACTER IS NOT PRINTED, AND IS
          SOMETIMES HARD TO FIND. 
          SOLUTION -- POST THE CHARACTER AS A NAME, AND CALL DIAG 
          WITH THE POINTER TO THE NAME. 
          JSL    10/25/79    PF11 
  
 SMPA232  PROBLEM -- WHEN SYMPL ISSUED AN ABORT DUE TO SOURCE ERRORS
          IN THE SOURCE PROGRAM BEING MORE SEVERE THAN THE *ET* 
          PARAMETER ON THE CONTROL CARD, THE TEXT OF THE DAYFILE
          MESSAGE WAS EXACTLY THE SAME AS FOR A GENUINE COMPILER ABORT. 
          CONSEQUENTLY, THE USER NEVER KNEW WHICH TYPE OF ABORT HAD 
          OCCURRED WITHOUT FURTHER INVESTIGATION.  THIS PROBLEM IS
          ESPECIALLY NOTICIBLE IN AN INTERACTIVE ENVIRONMENT ON NOS,
          BECAUSE NOS ONLY PRINTS THE LAST DAYFILE MESSAGE TO THE USER
          WHO IS THUS OTHERWISE UNAWARE OF SOURCE ERRORS IN THE PROGRAM.
          SOLUTION -- HAVE SYMPL ISSUE A DIFFERENT MESSAGE FOR ABORTS 
          DUE TO SOURCE ERRORS WHICH MORE CLEARLY IDENTIFIES THE
          REASON FOR THE ABORT. 
          LEM    11/5/79     CONTROL
  
 SMPA233  PROBLEM -- THE Y- AND Z- OPTIONS OF THE CONTROL CARD DO NOT 
          SHOW UP IN THE OPTIONS COMPILED UNDER MESSAGE.
          THIS IS POTENTIALLY USEFUL INFORMATION AND SHOULD BE PRINTED. 
          SOLUTION -- PUT THEM IN OPTIONS COMPILED UNDER AND IN 
          PREFIX TABLE OF THE RELOCATABLE.
          ALSO, CLEAN UP CONCARD A SMIDGE.
          LEM    11/1/79     CONCARD
  
 SMPA235  PROBLEM -- WHEN DEF PARAMETERS ARE DEFINED IN A TEXT, TH Y
          USUALLY HAVE TO BE RENAMED DURING TEXT LINKING AND ALL
          OCCURENCES OF THE PARAMETER NAMES IN THE DEF STRING MUST
          BE CHANGED.  ONLY THE FIRST OCCURENCE OF A GIVEN NAME WAS 
          BEING CHANGED, WITH THE SEARCH FOR IT TERMINATING.  THIS
          COULD LEAD TO INCORRECT DEF EXPANSION, CAUSING OBSURE BUGS. 
          AT THE VERY LEAST, STRANGE DIAGNOSTICS WERE PRODUCED. 
          SOLUTION -- THE CODE TO REPLACE NAMES IN DEF STRINGS IS 
          MOVED SO THAT WHEN THE COMPARE SUCCEEDS, THE SEARCH IS
          NOT TERMINATED BEFORE REPLACEMENT AND CONTINUES AFTER 
          REPLACEMENT UNTIL THE ENTIRE DEF STRING IS SEARCHED.
          JSL    11/12/79    USETEXT
 *L528*    ************************************************ 
  
 SMPA070  PROBLEM -- WHEN END OF RECORD IS ENCOUNTERED WHILE
          COLLECTING A PARAMETERIZED DEF STRING (PGIX=8), NO ERRORS 
          ARE ISSUED AND A SYMABT IS TAKEN IN PHASBS. 
          SOLUTION -- CHANGE SWITCH EOFS IN PROC FNEOF IN SPRECG SO 
          THAT EOR IN COLLECTION OF PARAMETERIZED DEFS, LIKE SIMPLE 
          DEFS, RESULTS IN INSERTION OF CONSTRUCT "BADSTR" IN CONSTRUCT 
          STRING.  ERROR RECOVERY CAN THEN BEGIN (RESONABLY) CLEANLY. 
          JSL    03/07/80    SPRECG 
  
 SMPA120  PROBLEM -- ON SCOPE 2, THE LINES OF THE STORAGE MAP AND CROSS 
          REFERENCE ARE TRUNCATED.
          REASON -- G.OUTL, THE DEFAULT NUMBER OF WORDS IN THE OUTPUT 
          LINE, IS SET TO 11 FOR SCOPE 2 FOR NO APPARENT REASON.
          SOLUTION -- ALWAYS DEFINE G.OUTL AS 12. 
          JSL    11/20/79    PTLST
  
 SMPA200  PROBLEM -- DIVIDE BY ZERO IN ARRAY PRESET PROCESSING ON SCOPE 
          2. (7000 DETECTS THIS ON CREATION, NOT USE, OF INFINITE 
          OPERAND.)  IT IS CAUSED BY A PRESET OF THE FORM 0(...). 
          IF WE GET PAST THAT, AS ON 6000S, ALOCTR CAN'T HANDLE 
          REP COUNTS OF ZERO.  IT GETS STUCK IN SAPP. 
          SOLUTION -- TEST FOR DIVISOR EQ 0 BEFORE DIVIDING.  SINCE 
          THE DIVIDEND AND QUOTIENT SHOULD BOTH BE ZERO IF THE DIVIDEND 
          IS ZERO, WE'RE OK.
          IN ALOCTR, WHEN A LEFT PAREN IS RECIEVED FROM THE PRESET FILE,
          TEST PEVL, THE REPETION COUNT, FOR ZERO. IF PEVL EQ 0, SKIP 
          TO THE MATCHING RIGHT PAREN.
          JSL    03/21/79    PF12,ALOCTR
  
 SMPA229  PROBLEM -- SYMPL ISSUES DIAGNOSTIC FOR
            SYSTEM INDEPENDENT ARRAY ITEM WHICH CROSSES 
            WORD BOUNDARY.
          SOLUTION -- INSERT CODE IN PF12 SO THAT CROSS OF
            WORD BOUNDARY WILL ONLY BE CHECKED
            FOR SYSTEM DEPENDENT ARRAY ITEMS. 
          HSW     12/27/79     PF12 
  
 SMPA236  THE MECHANISM USED ON NOS TO CAUSE BUFFER FLUSHING IN CASE
          OF AN ABORT HAS CHANGED.  NOT ONLY THAT, BUT THE OLD WAY NO 
          LONGER WORKS EXCEPT FOR "BLACK CATS".  (ONLY IF THE JOB IS
          INTERACTIVE AND (NOTE *AND*) THE FILE NAME IS *OUTPUT*.)
          SOLUTION -- USE THE NEW NOS SCHEME (GETLOF/SETLOF) TO TELL
          NOS WHICH BUFFERS NEED TO BE FLUSHED. 
          LEM    11/15/79    CONCARD
  
 SMPA237  PROBLEM -- SYSTEM-DEPENDANT (REGULAR) ARRAYS WHICH FOLLOW 
          SYSTEM-INDEPENDANT ARRAYS SOMETIMES GET DIAGNOSTIC 207, 
          INDICATING THAT SYMPL BELIEVES THEM TO BE S.I. ARRAYS.
          THIS TURNS OUT TO BE TRUE   IF THE ARRAY IS XREF, XDEF, BASED,
          OR COMMON,  FLAG AORU IS NOT RESET. 
          SOLUTION -- RESET AORU AT THE BEGINNING OF ALL ARRAY
          DECLARATIONS. 
          JSL    12/14/79    PF12 
  
 SMPA238  PROBLEM --   CHARACTER STRINGS PRECEDED BY AN 
            UNARY PLUS ARE NOT BEING CONVERTED
            PROPERLY. 
          SOLUTION -- CHANGE CODE IN PF13 SO THAT 
            A PROPER IL SEQUENCE WILL BE GENERATED
            FOR THE CONVERSION. 
          HSW     12/31/79     PF13 
  
 SMPA242  PROBLEM -- MIS ARRAY ITEM ERROR CHECKING FOR NON-CHARACTER
          ITEMS HAD ONE OVERSIGHT.  THE BOUNDARY CHECKING DID NOT 
          DETECT CROSSING WORD BOUNDARIES.  FORTUNATELY, THERE WAS ONLY 
          ONE WAY TO DO THAT--STRING OUT ONE OR MORE WHOLE WORD ITEMS 
          WHICH CLAIMED TO "OVERLAY" A WHOLE WORD ITEM BUT ACTUALLY 
          TACKED ON SUBSEQUENT WHOLE WORDS.  THE CODE GENERATION WAS
          ALSO AFFECTED SINCE SYMPL DID NOT CONSIDER THE ILLEGAL AND
          UN-DIAGNOSED ARRAY ITEMS TO HAVE BUMPED UP THE ENTRY SIZE OF
          THE ARRAY BECAUSE THEY WERE OVERLAYS AND NOT PRIMARY ITEMS. 
          THE MAP FURTHER DECIEVED THE USER, SINCE IT SHOWED THE ITEMS
          ALLOCATED TO THE CORRECT ENTRY WORD BUT NEGLECTED TO MENTION
          THE FACT THAT IT WAS LARGER THAN THE ACTUAL ARRAY ENTRY SIZE. 
          SOLUTION -- CHECK FOR THE CASE OF WHOLE WORD ITEMS CROSSING 
          WORD BOUNDARIES--DIAGNOSE THEM AND INVALIDATE THE DECLARATION.
          LEM    3/5/80      PF12 
  
 SMPA246  WHEN AN SNAM ENTRY IS EMPTIED OUT BY USETEXT, ONLY
          THE FIRST TWO WORDS OF THE ENTRY ARE EMPTIED.  THIS 
          IS BECAUSE THE FIRST WORD TO GO CONTAINS NCHR.
          SOLUTION -- PUT THE NUMBER OF WORDS IN A TEMP BEFORE
          STARTING THE LOOP.
          JSL    02/01/80    USETEXT
  
 SMPA247  PROBLEM -- IT TAKES A VERY UNLIKELY SET OF CIRCUMSTANCES TO 
          GET THIS BUG TO SURFACE.  STEP 1.  THE USER DECLARES A FILE TO
          BE A TEXT (Y=LFN) FILE WHICH HAS NO TEXTS ON IT AND THEN
          PROCEDES NOT TO USE IT (IE, NO -USETEXT-S).  A USETEXT WOULD
          REFERENCE A NON EXISTENT TEXT AND THUS CAUSE A SOURCE ERROR.
          STEP 2.  ONE OF THE COMPILATIONS OF A STACKED COMPILATION 
          GENERATES A BINARY (LGO) FILE LONGER THAN 1000B WORDS.
          THEN, THE NEXT COMPILATION WILL GET A BAD CIO REQUEST.
          INTERNAL PROBLEM -- THE SYMPL TEXT PROCESSOR CONTINUES TRYING 
          TO BUILD A TABLE FOR THE TEXTS EVERY TIME A NEW COMPILATION 
          UNIT IS PROCESSED SINCE IT FORGOT TO MARK THAT THE TEXT FILE
          WAS EMPTY.  THIS IS FINE EXCEPT THAT THE TABLE CONTAINING THE 
          LFN-S IS CLOBBERED BY THE LGO FILE BECAUSE IT WAS NOT EXPECTED
          TO BE NEEDED ANY MORE.
          SOLUTION -- MOVE THE TABLE OF LFN-S OUT OF THE VOLATILE 
          CONCARD AREA. 
          LEM    3/6/80      CONCARD
  
 SMPA251  PROBLEM -- SIMPLE CHARACTER ITEMS DECLARED WITH NBYT OF ZERO
          ARE NOT DIAGNOSED.  THIS CAN CAUSE A MODE IN EDITOR, OR BAD 
          CODE GENERATION.
          SOLUTION -- DETECT A CHARACTER SIZE OF ZERO, AND SET NBYT TO
          ONE.  WARNING DIAG 121 IS ISSUED. 
          JSL    02/26/80    PF12,ERMSGS
  
 SMPA253  PROBLEM -- SYMPL ISSUES A GETMC MACRO CALL AT THE START OF
          EVERY MODULE IN A STACKED COMPILATION.  THIS CAUSES A NEEDLESS
          WASTE OF SYSTEM RESOURCES BECAUSE EACH CALL GENERATES A 
          PP CALL.  THIS CALL REALLY NEEDS TO BE MADE ONLY ONCE.
          SOLUTION -- MOVE THE CODE THAT MAKES THE CALL INTO THE ONE- 
          TIME INITIALIZATION AREA. 
          NOTE -- THIS IDENT MOVES MOST OF THE CODE OF IDENT F2950SY. 
          LEM    3/13/80     COMCARD,INIT15 
  
 SMP0165  PROBLEM -- USING A OR U (IE, SYSTEM INDEPENDENT, OR MIS)
          ARRAYS, THE PROGRAMMER IS FREE TO SPECIFY HOW ITEMS ARE 
          OVERLAYED.  THE PROBLEM IS CHARACTER ITEMS.  THE FIRST
          OVERLAYED ITEM WAS CORRECT, BUT SUBSEQUENT OVERLAYED ITEMS
          (SPECIFIED USING THE + CONVENTION) WERE ALL ASSIGNED TO THE 
          WRONG ENTRY WORD. 
          SOLUTION -- SET THE WORD POSITION CORRECTLY FOR THE FIRST 
          OVERLAYED ITEM SO THAT SUBSEQUENT DECLARATIONS WILL BE
          ALLOCATED THE CORRECT WORD POSITION.
          LEM    3/4/80      PF12 
 *L538*    ************************************************ 
  
 SMP*81   COPYRIGHT CODE FOR 1981.
          CKA    09/10/80    CTEXT,CONCARD
 SMPA272  REMOVE ILLEGAL CHARACTERS FROM DECK NAMES ON *CALLS 
          EBB    11/06/80    TREGNOS, TCOM88
 *L552*    ************************************************ 
 *L564*    ************************************************ 
  
 SMP*82   COPYRIGHT CODE FOR 1982.
          KLS    81/09/08    CTEXT,CONCARD
 *L577*    ************************************************ 
 *L587*    ************************************************ 
 *L601*    ************************************************ 
 SMPA286  IMPLEMENT THE PAGE SIZE FEATURE FOR THE SYMPL COMPILER. 
          NOS 1.4 PSR LEVEL 552.
          DEPENDENCY=SMPA253
          GPN    82/04/14    CONCARD, PTLST 
  
 *L617*    ************************************************ 
 *L628*    ************************************************ 
 *L642*    ************************************************ 
 SMP0185  CONCARD.  FIX REGRESSION CAUSED BY SMPA286 ON NOS/BE AND
          SC2 SYSTEMS.  THIS CODE APPLIES TO ALL SYSTEMS, HOWEVER.
          ADD *IPARAMS* CALL SO AS TO GET VALUES FOR IP.PD AND IP.PS. 
          NOTE THAT THIS REQUIRES A CHANGE TO THE SYMPL INSTALLATION
          DECK.  *IPTEXT* MUST BE SPECIFIED ON ASSEMBLY OF COMPILER.
          AXM    84/11/20    CONCARD
  
 *L650*    ************************************************ 
 *L670*    ************************************************ 
 *L688*    ************************************************ 
 *L716*    ************************************************ 
 *L739*    ************************************************ 
 *L780*    ************************************************ 
 *L797*    ************************************************ 
 *L803*    ************************************************ 
 *L826*    ************************************************ 
 *L840*    ************************************************ 
 *L847*    ************************************************ 
 *L851*    ************************************************ 
 *L859*    ************************************************ 
 *L871*    ************************************************ 
                                                                        000260
                                                                        000270
