Google
 

Trailing-Edge - PDP-10 Archives - FORTRAN-10_V7wLink_Feb83 - revhst.mac
There are 24 other files named revhst.mac in the archive. Click here to see a list.

TITLE	REVHST	7(1716) Revision History for the FORTRAN compiler
SUBTTL	Authors:   DCE/TFV/EGM/SRM/EDS/CKS/AHM/CDM/RVM/PLB	17-Jan-83

;Previous Authors (before V6):
;	DONALD LEWINE/DAL/FI/HPW/DBT/NEA/MD/JNT/DCE/SJW/JNG/RDH/TFV/EGM

;COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1981, 1983
;
;
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
;ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH LICENSE AND WITH THE
;INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY  OTHER
;COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
;OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF THE  SOFTWARE  IS  HEREBY
;TRANSFERRED.
;
;THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT  NOTICE
;AND  SHOULD  NOT  BE  CONSTRUED  AS A COMMITMENT BY DIGITAL EQUIPMENT
;CORPORATION.
;
;DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
;SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.


	TWOSEG

Comment \

***** Begin Revision History *****

124	 -----	ADDED MAIN ENTRY SYMBOL MRP0 FOR SINGLE SEGMENT COMPILER
		/HPW
125	 -----	ADDED BUGOUT COMPLIER DIAGNOSTIC SWITCH /DBT
126	 -----	FIXED ERROR TRAP TO CLEAR FIRST PART DONE
127	 -----	CHANGED SIZE OF POOL
130	 -----	MOVE APR TRAP INITIALIZATION TO BE RESET AFTER
		EACH PROGRAM
131	-----	CHANGED BIT POSITION OF EOCS BIT IN FLAG REGISTER
132	-----	PUT BOUNDS SWITCH BACK IN
133	-----	CHANGE NXTFIL TO A SUBROUTINE WHICH WILL OPEN THE INPUT
		FILE AS WELL AS BUILD THE OPEN BLOCK. PHAZ1 CAN THEN CALL PHAZCO
		AND THEN NXTFIL SO THAT THE "+" COMPIL CONSTRUCTION
		WILL WORK
134	-----	FIX ABSENT SPEC (PRESENT SWITCH)
		BEING TREATED AS PRESENT SPEC. E.G. /SWT,X=X
		TREATED AS *.*/SWT,X=X
135	-----	CATCH THE OCCURRENCE OF "=" COMMAND LINE
		IE.  NO INPUT FILES  AT ALL

136	-----	CALCULATE THE MAXIMUM CORE REQUIRED FOR THE LIST
		OF INPUT FILES AND STORE IN BGSTBF.  PHAZ1 WILL RESERVE
		THIS AMMOUNT OF CORE WHEN THE FIRST FILE IS OPENED

137	-----	PUT ERROR MESSAGES IN NEW FORMAT
138	-----	PUT IN FTTENX SUPPORT

***** Begin Version 4A *****

230	DRIVER(14)	-----	ALLOCATE VARIABLE DIMENSIONS PASSED
	ACT1(99)	-----	AS ARGUMENTS.
231	ERROUT(32)	-----	CHANGE WARNING 77 (DO INDEX)
232	ACT1(100)	-----	FIX PROCESSING OF RECORD NUMBER IN BLDUNIT
233	PEEPOP(71)	-----	FIX PEEPOP OF JUMP INSTRUCTION
234	PNROPT(144)	14167	FIX PROPAGATION OF LIBRARY FUNCTION
				CALLS WITH CONSTANT ARGUMENT.
235	STA3(56)	-----	NAMELIST PROBLEMS
	ASHELP(3)		1-ITEMS NOT ALLOWED IN COMMON
	ACT1(101)		2-SOMETIMES NOT ALLOCATED
				3-NOT CREFED PROPERLY
236	OUTMOD(63)	14654	EQUIVALENCE PROBLEM
237	REGAL2(127)	-----	REGISTER ALLOCATION FAILS
240	PH3G(229)	14569	REGISTER ALLOCATION PROBLEM
241	OUTMOD(64)	-----	FIX HISEG BLOCK FOR BIG LOW SEG
242	CODETA(1)	15010	ALLOW CONTINUE AS OBJECT OF
	SKSTMN(92)		A LOGICAL IF STATEMENT.
243	GCMNSB(67)	14916	FIX OPTIMIZER (INT COMP ERROR)
244	GCMNSB(68)	14940	FIX OPTIMIZER (FINDTHESPOT TO MOVE
				COMMON EXPRESSIONS).
245	PEEPOP(72)	15039	CORRECT MOVEMENT OF JRST ADDRESS TO INCLUDE
				THE INDEX AND INDIRECT BITS.
246	PH3G(230)	15209	FORCE PRELOADS ON BRANCHES IN LOOPS
247	LISTOU(54)	15349	CHANGE FORMAT LABEL REFERENCES TO P (FROM F)
250	REGAL2(128)	15356	DON'T ALLOCATE REG WHEN ALCRETREGFLG ON
251	PEEPOP(73)	15652	DON'T OPT OUT LABELED INDIRECT JRST
252	DEFPT(116)	14967	CHECK NODES FOR FUNNY OPRCLS IN SELECTIT
253	PEEPOP(74)	15425	DON'T OPT OUT MOVE FOLLOWING PUSHJ OR DIVIDE
				OF AC-1
254	STREGA(202)	15425	FORGET WHAT WAS IN 0 WHEN BOOLEAN FUNCTIONS ALLOCATE
				THE RETURN VALUE TO 0
255	STA3(57)	15432	CHECK THE DO LOOP TERMINATION LABEL FOR
				BEING ON THE DO STATEMENT ITSELF.
256	CGDO(134)	15493	DON'T COUNT ENTRY LABELS FOR STATEMENT FUNCTIONS
257	PEEPOP(75)	15511	ELIMINATE REDUNDANT ADDI SUBI PAIRS
260	SKSTMN(93)	-----	ADD DOT FOR MATERILIZING INDEX AROUND FUNCTION CALLS
261	STREGA(203)	15772	WHEN COMPILING WITH /DEBUG:LABELS, DO NOT
	PEEPOP(76)		OPTIMIZE REGISTER USAGE BETWEEN
	TABLES(154)		STATEMENTS
262	COMMAN		15710	CORRECT LOOPS ON ENTER FAILURES
263	PHA2(108)	15865	FIX STACK VALUE SAVED
264	OPGNTA(119)	15974	FIX COMPLEX DIVIDE TO MEMORY ON KI
265	ACT1(102)	15946	ADD WARNING FOR MULTIPLY INITIALIZED
	ERROUT(33)		VARIABLES IN DATA STATEMENTS
	ASHELP(4)
266	PH3G(231)	15952	FIX AN OPTIMIZER MOVEMENT BUG
267	REGAL2(129)	-----	FIX SIDE EFFECT OF 250 IN RELATIONALS
270	STREGA(204)	16013	CLEAR REGSTATE FOR VARIABLES IN INPUT NAMELIST
271	COMMAN		-----	CHANGE COMMAN TO SEARCH C AND SCNMAC
272	ACT1(103)	-----	CHANGE 265 TO NOT CHECK ARRAYS
273	DATAST(43)	16361	HANDLE NEGATIVE DIMENSIONS RIGHT IN DATA STATEMENTS
274	REGAL2(130)	16050	ALLOCATE SAVES FOR 0-1 IN FUNCTION CALLS
				AFTER ALLOCATING UNDER CALL
275	CNSTCM(65)	-----	CHECK FOR UNDERFLOW RIGHT
276	TSTR(45)	-----	REDUCE NEGATIVE MULTIPLICATIONS CORRECTLY
277	PH3G(232)	16112	FIX FLIPCODES TO CALL LEAFLOOKER WITH THE
				REGS WE REALLY WANT SUBSTITUTED
300	STREGA(205)	-----	FIX 270
301	CMPLEX(127)	16154	REMEMBER THAT FUNCTION CALLS CLOBBER 0 AND 1
	STREGA(206)		SO DON'T USE PROLOG VALUES IN THEM
302	REGAL2(131)	16181	CATCH ALL CASES OF NOT REMEMBERING REG CONTENTS FOR
				BOOLEAN EXPRESSIONS WHICH MAY NOT BE COMPLETELY EXECUTED
303	DRIVER(15)	16369	CATCH ALL CASES OF DIMENSIONED VARIABLES
				OCCURRING WITHOUT INDICES
304	REGAL2(132)	16441	CLOBBER BOTH REGISTER STATES ON A DOUBLE
				TO SINGLE TYPE CONVERSION
305	PEEPOP(77)	16518	FIX PEEPOP TO CHECK FOR INDEXING WHEN ELIMINATING
				REDUNDANT MOVE FROM MOVEM-XXXX-MOVE
306	CGSTMN(124)	16156	FIX CALL/OPEN TO DO FORMAL ARRAYS INDIRECTLY
307	DRIVER(15)	16611	CHANGE ORDER OF CLEANUP TO FIX PYROTECHNICS
310	STREGA(207)	16602	CHANGE ORDER OF OPEN/CLOSE REGISTER ALLOCATION
311	STREGA(208)	16665	ALLOCATE IOLIST REGS ONLY FOR NON-DATA ITEMS
312	GNRCFN(31)	16668	CHECK MIN AND MAX FUNCTIONS FOR LESS THAN 2 ARGUMENTS
313	STA1(62)	16666	HANDLE DIALOG W/O = RIGHT
314	DATAST(44)	QAR	FIX DATA STATEMENT DO LOOPS OF - NUMBERS
315	DEFPT(117)	16667	FIX ARRAYREFS WITH CONST SS DEFINITION POINT
316	PH3G(233)	QAR	FIX 277 RIGHT
317	LISTOU(55)	QAR	FIX 247 RIGHT

***** Begin Version 4B *****	 26-Aug-75

320	STA2(41)	16787	CATCH COMMON /X/A(5)B(5) AS ERROR
321	TSTR(46)	17005	SCAN FOR INDUCTION VARIABLE IN OPEN/CLOSE WHEN /OPT
322	IOPT(48)	16688	CHECK FOR DISJOINT IOLISTS BEFORE COLLAPSING
323	CGDO(135)	16729	CHANGE NAME OF TEMPS USED TO SAVE REGS
	DOALC(106)		IN FUNCTION PRO/EPI-LOGUE FROM .XXXNN
				TO .A00NN TO AVOID CONFLICT.
324	STA3(58)	16750	CLEAN UP SYMBOL TABLE ENTRIES AFTER
				BAD STATEMENT FUNCTION.
325	ACT0(52)	17044	CHECK FOR OVERFLOW OF STK CAUSED BY LONG
				ARGUMENT LISTS, AND REMEDY SITUATION.
326	REGAL2(133)	17086	FIX REGISTER TARGETING FOR ASSIGNMENT STATEMENTS
				WITH AND/OR NODES AND FUNCTION CALLS.
327	GRAPH(117)	16688	PREVENT OPTIMIZER FROM DYING ON
				PROGRAMS WITH POTENTIALLY INFINITE LOOPS
330	GRAPH(118)	17150	ENSURE THAT THE OPTIMIZER DOES NOT 
				CONSIDER ENTRY STATEMENTS TO BE INACCESSIBLE
331	P2S2(51)	17091	FIX PROPAGATION OF NEGATION FOR SPECIAL
				OPERATOR: RAISE TO AN ODD CONSTANT INTEGER
				POWER CANNOT ABSORB A NEGATE FROM BELOW.
332	DOALC(107)	17045	FIX ASSIGN STATEMENTS WITHIN DO LOOPS
	LEAFLOOKER(234)
333	GRAPH(119)	17045	FIX UP CODE GENERATED FOR ASSIGNED GO TO
				STATEMENTS WITHIN DO LOOPS.
334	F72BNF.SYN	17420	CORRECT FORMAT OF DO STATEMENT (ADD LINEND)
335	INOUT(36)	17377	FIX FATLERR SO THAT IT DOES NOT DESTROY
				THE CONTENT OF NAME FOR LEXICA.
336	STA0(46)	17259	CHECK FOR I/O LIST WITH NAMELIST
	ERROUT(34)		DIRECTED I/O
337	OUTMOD(65)	17305	ROUND UP IMMEDIATE REAL CONSTANTS
	CGEXPR(71)		BEFORE LISTING THEM
340	GCMNSB(69)	16989	DO NOT ALLOW CALL TO MATCHER TO
				CHANGE VALUE OF PHI - OPTIMIZER BUG
341	REGAL2(134)	17770	FIX REGISTER ALLOCATION FOR EXPONENTIATION
				INSIDE FUNCTION
342	LISTNG(10)	17876	MAKE LONG UNCLASSIFIABLE STATEMENTS WORK
	LEXICA(14)		PROPERLY - SEVERAL MINOR PATCHES
343	DRIVER(17)	17636	FIX END OF STATEMENT PROCESSING
				SO THAT THE LINE NUMBER IS CORRECT.
344	CMPLEX(128)	17768	FIX PROPAGATION OF FNCALL FLAG
				TO A NEG/NOT NODE.
345	P2S2(52)	17554	FIX COMMON SUBS INVOLVING EXPONENTIATION
				TO EVEN POWERS SOMETHING WITH A NEG FLAG
346	TSTR(47)	17928	PASS OUT RETURN INFORMATION TO OUTER DO LOOPS
347	PH3G(235)	17545	IN GLOBAL REGISTER ALLOCATION, PREVENT
				BAD PRELOADS CAUSED BY LOGICAL IF'S.
350	PH3G(236)	17545	COMMON SUBS MUST ALSO CAUSE PRELOADS
				OF REGISTERS ON OCCASION - FIX THIS.
351	LISTNG(11)		FIX EDIT 342 PROPERLY
352	PH3G(237)	18007	FIX EDIT 266 FOR CASE WITH ONE MATERIALIZATION
353	PH3G(238)	18004	FIX TWO CALLS GENERATING BAD CODE
354	TSTR(48)	18015	BAD CODE INVOLVING REDUCTION IN STRENGTH
355	SRCA(49)	18132	CORE MANAGEMENT INSUFFICIENT FOR LARGE 
				DATA STATEMENT
356	LISTOU(56)	18105	MAKE MAIN. GLOBAL SYMBOL FOR MAIN PROGS.
357	COMMAN		18191	FIX OPEN ERROR REPORTING
360	CGDO(136)	18243	FIX RETURN STMNT AT END OF DO LOOP 
361	GRAPH(120)	18451	FIX GO TO END OF DO LOOP
362	LEXSUP(8)	18245	FIX UP ARGUMENT BLOCK TYPES FOR
	GLOBAL(75)		LOGICAL AND OCTAL AND DOUBLE OCTAL CONSTANTS
363	STREGA(209)	18269	CHECK A1NOTFLG BEFORE REMEMBERING REG CONTENTS
364	OUTMOD(66)	18251	CORRECT EQUIVALENCE PROCESSING
365	LEXICA(15)	18857	TAKE CARE OF FORM FEEDS BETWEEN ROUTINES
366	LEXSUP(9)	18210	SAVLINE CANNOT CLOBBER NAME
	LEXICA(16)		X=.123EQ.A AND X=1.1HABC ARE ILLEGAL
367	CGSTMN(125)	18239	WRITE(U) GENERATES WRONG CODE
370	GCMNSB(70)	17938	REMOVE [244] REAL FIX IS IN REDUCE (TSTR)
	TSTR(49)		FIX CODE MOTION FOR .R VARIABLES
371	COMSUB(255)	18471	FIX CSE FOR STRAIGHT CASE IN MATCHER
372	GRAPH(121)	18314	FIX ASSIGN GO TO INSIDE LOOPS
373	REGAL2(135)	18242	CORRECT REGISTER ALLOCATION FOR LARGE
				ASSIGNMENT STATEMENTS
374	GRAPH(122)	-----	FIX MIS-SPELLED MACRO NAME
375	PNROPT(145)	18450	USE .O INSTEAD OF .R FOR DP TEMPORARY
376	CGWRIT(126)	18398	FIX WRITE STMNT WITH DEBUG SET
377	REGAL2(136)	18476	FIX REG ALLOCATION FOR COS(X)*A(I)
400	PH3G(239)	18704	FIX LOGICAL IF BEFORE NESTED LOOPS
401	GCMNSB(71)	17813	FIX A(I)=B(I)+B(I)+1.0

***** Begin Version 5 *****	7-May-76

	ACT1   (104)	ARRXPN (52)	CANNON (25)	COMSUB (256V)
	GCMNSB (72)	OPTMAC		PH3G   (240V)	PHA2  (109)
	PNROPT (146)	TSTR   (50)	VER5   (1)

402	STA2(42)	18917	RESTORE FLGREG PROPERLY AFTER INCLUDE
403	STREGA(210)	18961	BAD REG ALLOCATION FOR I=I/J
404	GOPTIM(53)	18869	MAKE ASSOCIATE VARIABLE LIST CORRECTLY,
	PH3G(240)		AND DON'T LET THEM LIVE IN REGISTERS
405	COMSUB(256)	18967	FIX A(P(I)) IN IOLIST
406	IOPT(49)	18978	FIX CHAR(K(I,J)) IN IOLIST
407	VERSION 5, 25-JUN-76
	GRAPH	(123)	STA1	(63)	ADD ERR= ON OPEN/CLOSE
410	GLOBAL(76)	QA568	MAKE DTABPTR GLOBAL FOR BLDDIM
	ACT1(105)
411	CMPLEX(129)	19537	DON'T SWAP ARGS FOR MAX OR MIN IF
				FIRST ARG IS NEGATIVE
412	CMPLEX(130)	VER5	NODE WITH ARG1 = DOUBLE ARRAY REF FOR
				  KA10 MUST HAVE COMPLEXITY AT LEAST 3
	REGAL2(137)	VER5	USE SUBSCRIPT REG FOR DOUBLE ARRAY REF
				  VALUE EXCEPT ON KA10
413	CNSTCM(66)	-----	DON'T USE FADL IN INTDP IF NOT ON KA10
414	ACT1(106)	QA625	FIX .I OFFSET SHARING SO ONLY SHARES
				  DIM2 .I IF DIM1 SAME
415	ACT1(107)	18964	DON'T DESTROY SYMBOL TABLE ENTRY FOR
				  FORMAL FUNCTION WHEN ENTRY STATMNT
				  SEEN WITH THE FUNCTION AS A PARAM.
416	GCMNSB(73)	QA650	FIX MOVCNST SO HASH ENTRY IGNORED ON
				  NEXT PASS IF .R+X CAN'T BE MOVED AS .O
417	STA3(58)	QA637	FIX BAD STATEMENT FUNCTION FROM
				CLOBBERING THINGS ON CLEANUP IN 324
420	STA3(59)	QA637	AFTER BAD ST FN, CLEAN UP THE NAME
				SO THAT IT DOES NOT CAUSE TROUBLE LATER
421	PNROPT(147)	QA651	DON'T PROPAGATE .O IF CAME FROM .R
422	LISTNG(12)	18493	IMBEDDED NULLS CAUSE LOW LEVEL LOOPING
423	ACT1(108)	QA709	FIX PATCH 414: DIMNUM IS 1-RELATIVE
424	STA1(64)	QA690	ERROR IF DIRECTORY= NOT LITERAL OR ARRAY
				  NAME IN OPENCLOSE
425	PHA2(110)	QA714	CALL ZTREE TO CLEAR DEFPTS IF 
				  OPTIMIZATIONS DISCONTINUED IN OPTERR
426	CMPLEX(131)	18816	SET FNCALLSFLG FOR IMPLICIT FN CALLS,
	DOALC(108)		SO 0,1, AND 16 ARE KNOWN TO BE CLOBBERED
427	COMSUB(257)	18871	FIX COMSUBS IN IOLISTS
430	P2S2(53)	18876	MAKE ARITH IF NODES ABSORB NEGS RIGHT.
431	PH3G(241)	19121	MATERIALIZE VARIBLES THAT HAVE BEEN
				ALLOCATED TO REGISTERS DURING A
				DOUBLY-NESTED DO LOOP CORRECTLY.
432	REGAL2(138)	19037	FIX CONVERSION OF LOGICAL ARRAY REF
433	DOXPN(81)	19130	MAKE DO I=10,1 EXECUTE ONCE
434	P2S1(60)	19211	CHECK FUNCTION CALL CONTAINING DO INDEX
				AS A PARAMETER AFTER CONSTANT FOLDING.
435	IOPT(50)	18964	FIX IO LISTS WITH VARIABLE INCREMENT
436	OUTMOD(67)	19427	CATCH EQUIVALENCE VIOLATION WHEN
				BUILDING EQUIVALENCE CLASSES.
437	GCMNSB(74)	QA771	DON'T LET DOTOHASGN MOVE .O=EXPR IF
				  .O CAME FROM .R
	VER5(2)			MARK SUBSUMING .O IF SUBSUMEE .O CAME
				  FROM .R IN DOTOFIX
440	GCMNSB(75)	QA771	DON'T NEXTUP .O IF CAME FROM .R IN
				  MOVCNST
441	REGAL2(139)	19231	FIX REGISTER ALLOCATION FOR A D.P.
				  ARRAYREF AS A FN CALL PARAMTER.
442	COMSUB(258)	19233	MAKE THE DELETION OF HASH ELEMENT
				WORK IF ELEMENT IS FIRST IN ITS LIST
443	GRAPH(124)	QA656	WARNING + OPT STOPPED IF DISCOVER
				  ILLEGAL DO NESTING IN LNKEXTND
	ERROVD			ADD WARNING MESSAGE E140
	ERROUT(37)
444	PH3G(242)	19484	FIX TO 246 - DON'T FORCE PRELOAD OF
				COMPILER VARIABLES IF GOTO ENCOUNTERED.
445	P2S1(61)	19632	USE FEWER LOCALS ON STACK DURING
				RECURSIVE CALLS TO P2SKARITH
446	STREGA(211)	20652	BAD CODE FOR I=I*3 AND I=I**7 (QAR753)
447	UTIL(85)	19547	NEGATIVES PROPAGATED TOO MUCH IN FORTG
450	COMSUB(259)	QA784	DON'T NEXTUP ARRAYREF IF INSIDE IOLIST
451	ERROUT(35)	19610	CORRECT SPELLING IN ERROR MESSAGE
452	COMMAN(452)	19610	NUL: CAUSES PROBLEMS AS OUTPUT DEV
453	DEFPT(118)	19695	DON'T MAKE DO BE DEFPT OF ALL VARS
				MODIFIED INSIDE THE LOOP.
454	PH3G(243)	19699	DON'T PLACE PRELOADS 1 STATEMENT TOO
				LATE WHEN PLACING AFTER A DO LOOP.
455	GCMNSB(76)	QA784	CAN'T MOVE EXPRESSIONS OUT OF IMPLIED DO
				  IF INSIDE LOGICAL IF
456	GCMNSB(77)	QA784	FIX FINDTHESPOT SO CALLER TELLS IT WHERE
				  TO STOP
				ADD NEW ROUTINE FINDPA FOR GLOBMOV AND
				  DOTOHASGN
				CALL FINDTHESPOT WITH 2ND PARAM IN
				  GLOBMOV AND DOTOHASGN
	COMSUB(260)		GIVE GLOBMOV ENTIRE HASH ENTRY IN CMNMAK
				  FOR FINDPA
	MOVA(26)		CALL FINDTHESPOT WITH 2ND PARAM = TOP IN
				  HAULASS
	TSTR(51)		CALL FINDTHESPOT WITH 2ND PARAM = TOP IN
				  REDUCE
457	REGAL2(140)	19805	TRY HARDER NOT TO REQUEST A REG IN
				REGAL2 UNLESS WE REALLY NEED IT - MIGHT
				RUN OUT EARLY.
460	ACT1(109)	19477	CHANGE DIMENSION PROCESSING TO BE
	ERROUT(36)		MORE THOROUGH AND LESS APT TO EXIT EARLY
461	LISTOU(57)	19477	DETECT WHEN PROGRAM IS TOO LARGE
	ERROVG(1)		ADD E142
	ERROUT(38)
462	DRIVER(18)	19960	FIX MRP1 TO LEAVE SREG<LEFT> WITH THE
				SAME VALUE IT FOUND IN IT
463	UTIL(86)	19989	FIX IMPLIED DO'S WHOS INITIAL VALUE OR
				STEP SIZE COME FROM AN OUTER AOBJN DO.
464	LISTOU(58)	QA754	ADD LINE-NUMBER/OCTAL-LOCATION MAP IF
	PHA3(50)	  780	  MACRO LISTING NOT REQUESTED
	GLOBAL(77)		ADD 3 GLOBALS FOR LINE-HANDLING
465	PNROPT(148)	20657	CLEAR INDVAR BEFORE CALLING REDUCE FOR
				STATEMENTS BEFORE THE DO LOOP; WE MIGHT
				FIND SOME REDUCTIONS OTHERWISE (!!!).
466	PNROPT(149)	VER5	DELETE CODE TO ZERO DEFPTS BETWEEN
				LENTRY & TOP (REMOVE 465 AND MORE)
467	IOFLG(9)	VER5	TAKE OUT FORSWI.REQ
	INOUT(37)		REQUIRE FTTENX.REQ
	LISTNG(13)
	STA2(43)
	MAIN(29)		REQUIRE FT1SEG.REQ
470	OUTMOD(68)	20744	MAKE SURE THE HIGH SEG STARTS AT LEAST
				A PAGE ABOVE THE END OF THE LOW SEG.
471	STREGA(212)	20309	LHS A LOGICAL EQUIVALENCED VAR MAY
				GENERATE BAD CODE
472	OUTMOD(69)	20494	INCORRECT EQUIVALENCE PROCESSING
				WHEN LAST ELEMENT OF GROUP IN COMMON
473	OUTMOD(70)	20478	SCALARS AND ARRAYS LISTING TOO WIDE
474	OUTMOD(71)	20479	OUTPUT CRLF AFTER LAST COMMON BLOCK NAME
475	IOPT(51)	20813	DON'T COLLAPSE ELISTS THAT WE SHOULDN'T
476	IOFLG(10)	QA754	MAKE MAPFLG FROM STATFLG IN FLGREG
	COMMAN(476)	  780	MAKE /MAP A SWITCH TO SCAN
	LISTOU(59)		MAKE LINE NUMBER/OCTAL LOCATION MAP
	PHA3(51)		  OPTIONAL UNDER /MAP SWITCH
477	LEXSUP(10)	QA831	MAKE MESSAGE NAMLEX'S MORE READABLE
500	TSTR(52)	20818	DON'T SEE IF A NODE IS AN I/O STATEMENT
				UNLESS IT'S A STATEMENT.
501	TSTR(53)	21113	DON'T REDUCE .O'S IN OUTER DO LOOPS.
502	PH3G(244)	20463	SORT SAVED VS NON-SAVED REGS CORRECTLY
				  IN FLIPCODES; FAKE ITMCT ALSO
	COMMAN(502)	VER5	REMOVE XLIST'S FOR FTTENEX
503	STREGA(213)	19976	FOR A(I) = FUNC. CALL, DON'T LEAVE I
				IN REG 1 WHEN CALCULATING LH FIRST.
504	REGAL2(141)	QA815	FIX EDIT 412 TO NOT ALLOW FETCHES OF
				COMPLEX NUMBERS INTO AN AC WHICH IS
				ALSO THE INDEX REG. NEGATED FETCHES
				USE TWO INSTRUCTIONS (EVEN ON KI'S),
				AND NEGFLG'S CAN SNEAK IN MUCH LATER.
505	VER5(3)		QA815	IN DOTORFIX DON'T MOVE .R INIT IF IT'S
				  ALREADY IN THE CORRECT PLACE
506	LISTNG(14)	10056	LINESEQUENCED FILES KILL LOW LEVEL BUFFERING
507	GCMNSB(100)	-----	FIX EDIT 440 TO ALLOW NEXTUP OF .O WHICH
				  CAME FROM .R IN MOVCNST IF MOM IS
				  ARITHMETIC
510	CMPLEX(132)	-----	DON'T TEST ALCRETREGFLG IN DATAOPR NODES
511	ERROUT(39)	-----	FIX E37,E79,E100 TO AGREE WITH ERROVD
				FIX AND MOVE E140 FROM [443]
				FIX SPELLING IN E74
	ERROVD(2)		FIX E140
512	COMMAN(512)	-----	MAKE /MAP FROM [476] CALLED /LNMAP SINCE
				  /MAP/LMAP ARE LOAD COMPIL SWITCHES
513	GCMNSB(101)	QA771	IN MOVCNST WHEN .O IS CREATED, PASS UP
				  ORFIXFLG FROM ANY .O BEING SUBSUMED
				CHANGE [507] TO FREE VARAIBLE T IN MOVCNST
514	GCMNSB(102)	QA806	IN MOVCNST IF NARY INSURE .R IS 1ST ARG
				  SINCE [V5] CODE ASSUMES .R + X
515	VER5(4)		QA815	REMOVE "TEMP [EXPRUSE] _ 1" IN DOTORFIX

***** Begin Version 5A *****	7-Nov-76

516	COMMAN(516)	21215	FIND FILES WITH BLANK EXTENSIONS IN SFDS
517	COMMAN(517)	21238	MAKE SFD'S IN COMMAND STRINGS WORK.
520	COMSUB(261)	21271	PROHIBIT NEGATIONS IN RELATIONAL COMSUBS
521	STA1(65)	QA900	FIX PARAMS TO FATLEX IN OPENCLOSE
522	STREGA(214)	20819	CHECK NEGFLGS FOR ARRAYREFS IN IOLISTS
523	COMMAN(523)	QA1038	FIX DEFAULT FLAG SETTINGS FOR SCAN:
				  SWITCHES COUNT FROM LEFT NOT RIGHT
524	COMSUB(262)	QA876	PUT BACK ARRAY REF IN STPRECLUDE SO HASH
				  ENTRY TAKEN OUT OF TREE
				CALL STPRECLUDE BEFORE CMNMAK SO CAN
				  HASH SKEWED TREE WITH NEG FLAGS
				  UNCHANGED
525	VER5(5)		QA949	DO CORRECT TYPECNV IN DOTOFIX ONLY IF
				  NECESSARY
526	GCMNSB(103)	QA1035	IN CHKDOM IF FNARY AND NO MATCH ON 
				  "FUNC(ARRAYREF), PUT BACK ARRAYREF
				  SO HASH TBL ENTRY NOT IN TREE
527	STREGA(215)	20317	BAD CODE FOR ASSOCIATE VARS IN COMMON
530	P2S2(54)	21606	BAD CODE FOR DOUBLE PRECISION SPECOPS 
				WHICH GENERATED FSC INSTRUCTIONS
531	STA1(66)	20323	GIVE WARNING WHEN SUBROUTINE PARAMETER
	ERROUT(40)		IS USED AS ASSOCIATE VARIABLE
532	STREGA(216)	20323	FIX CODE GENERATION FOR AN ARRAY ELEMENT
	CGSTMN(127)		USED AS AN ASSOCIATE VARIABLE
533	STA2(44)	21796	INCLUDE STMNT DESTROYS LOCS 4400-4402
534	STA3(60)	21817	INTERNAL COMPILER ERRORS IN FORTB CAUSED
				BY BADLY STRUCTURED STATEMENT FUNCTIONS
535	GRAPH(125)	21809	INACCESSIBLE CODE WITH ZERO LINE NUMBER
536	LEFTFM(23)		ADD RCHAR TO ERR NAME PLIT
537	LISTNG(15)	21811	BAD PRINTING OF ERROR CONTINUATION LINE
540	STA2(45)	22191	BAD COMMON STMNT GIVES ICE
541	LISTNG(16)	-----	-20 ONLY: CLEAR LASTCHARACTER IN READTXT
				  AFTER ^Z SEEN SO MORE TTY: INPUT MAY
				  BE DONE
542	EXPRES(32)	22147	MAKE A NOT IMPLY TYPE LOGICAL ALWAYS.
543	SRCA(50)	-----	FIX BINARY SEARCH FOR LIBRARY NAME
544	FIRST(127)	10290	FIND STMNT NODE TOO SMALL - EXPAND IT
545	REGAL2(142)	22096	FUNCTION VALUES MUST GO INTO REALLY FREE REGS
546	STREGA(217)	22030	FIX PROBLEMS WITH OPERATIONS WHICH CLOBBER
				FOLLOWING REGISTER (IDIV)
547	LEXICA(17)	21280	(QAR863) FIX INITIAL TAB IN COLUMN 6 TO
				  GO TO COL 7 ON AN INITIAL LINE OR COL
				  6 IF A CONTINUATION LINE
550	REGAL2(143)	21824	FIX REG ALLOCATION FOR BIG EXPRESSION
551	TABLES(155)	21826	FIX TYPE CONVERSION DURING CODE GENERATION
552	REGAL2(144)	21826	GENERATE BETTER CODE FOR TYPE CONVERSION
				OF ARRAY REFERENCE
553	P2S2(55)	21826	TYPE CONVERSION MAY BE NECESSARY IF LOGICAL
				OPERATION ABOVE IT IS LIQUIDATED
554	REGAL2(145)	22324	AND NODE WITH THE NEGATION OF A FUNCTION
	CGEXPR(72)		CALL BELOW IT GIVES BAD CODE
555	LISTOU(60)	22281	FIX LINE NUMBER/OCTAL MAP WITH ENTRY POINTS
556	LISTNG(17)	-----	PUT /L IN HEADING OF PAGE IF OCTAL MAP REQUESTED
557	COMMAN(557)	-----	CATCH WILD PPN OR SFD AS ERROR
560	COMMAN(560)	-----	-20 ONLY: HANDLE PPNS IN THE COMMAND LINE CORRECTLY
561	LISTNG(18)	10429	ALLOW CONTINUATION LINES AFTER PAGE
	LEXICA(18)		MARKS AND FORM FEEDS
562	PNROPT(150)	22540	IOLISTS IN OPTIMIZATIONS MAY KILL REG 0
563	GNRCFN(32)	22541	SPURIOUS ERRORS IF FIRST ARG TO LIB FN
				IS OF UNACCEPTIBLE TYPE
564	CGSTMN(130)	22693	MAKE CGREAD == CGWRIT: GENERATE FIN CALL
				  ON UNFORMATTED WRITE WITH NO IOLIST
565	GRAPH(126)	21810	EXTENDED RANGE DO LOOPS GIVES BAD GRAPH
566	COMSUB(263)	22701	BAD COMSUBS WITH MANY NOT FLAGS
				AND SHAPE SKEW
567	ACT1(110)	22284	EXTERNAL STMNT NOT REMEMBERED AT ENTRY POINTS
570	STA3(61)	22703	BAD STMNT FN GIVES ICE (FN(2,3))
571	FIRST(130)	22378	ADD IDUSECNT DEFINITION
	TABLES(156)		ADD ARALINK DEFINITION
	ACT1(111)		FIX V5 OPT THAT SHARES 2ND OFFSET OF FORMAL
				  ARRAY IF 1ST DIMS = SO ALL WILL WORK IF
				  ARRAY SUBSEQUENTLY TYPED DIFFERENT #
				  WORDS THAN WHEN SHARING 1ST DONE
	DRIVER(19)		DEFINE & CALL CLERIDUSECNT AT END OF MRP1
572	ACT1(112)	21825	CHECK IMPLIED DO INDEX FOR ALREADY ACTIVE
				  (FROM ENCLOSING IMPLIED OR REAL DO)
573	DBUGIT		-----	NEW REQUIRE FILE TO HOLD DBUGIT FLAG
	IOFLG(11)		REMOVE "BIND DBUGIT="
	DRIVER(20)		REQUIRE DBUGIT.REQ
	INOUT(40)
	LEXICA(19)
	LEXSUP(11)
574	SRCA(51)	-----	REWRITE BINARY SEARCH IN SRCHLIB TO WORK
				  AFTER EDIT 543
575	DEFPT(119)	22820	REWRITE ZAPLEVEL TO PREVENT STACK OVERFLOW
				FOR VERY LARGE BRANCHING PROGRAM.
576	GRAPH(127)	22796	FIX LINE NUMBER GIVEN FOR INFINITE LOOP
577	TSTR(54)	22352	DO LOOP WITH A CALL STATEMENT INSIDE MUST
				MATERIALIZE LOOP VARIABLE IF IT IS IN COMMON
600	REGAL2(146)	22990	MORE EFFICIENT STACK USAGE IN FORTE
601	ACT1(113)	Q20-26	FIX EDIT 572 TO CHECK IMPLIED DO INDEX
				  IN DATA STATEMENTS FOR ALREADY ACTIVE
				  FROM ENCLOSING IMPLIED DO
602	COMSUB(264)	22700	OPTIMIZED IOLISTS WITH SKEWED EXPRESSIONS
				MAY GENERATE ELISTS INCORRECTLY
603	ACT0(53)	23442	ADD * AS INITIAL CHAR FOR LABEL CONSTANT
604	OUTMOD(72)	23425	FIX LISTING OF COMMON BLOCK SO THAT WE
				DO NOT GET AN EXTRA CARRIAGE RETURN
605	TSTR(55)	23478	BAD CODE WITH /OPT FOR ASGMNT STMNT WITH
				LHS LIKE A(I/2) OR A(I**5)
606	CNSTCM(67)	22795	SOME OVERFLOWS DURING CONSTANT FOLDING
				NOT DETECTED AND POOR CODE GIVEN.
607	GLOBAL(100)	22685	MAKE NEW GLOBAL NEDZER TO INDICATE IF 
				  ZERO-ARG-BLOCK NEEDED
	CGDO(137)		SET NEDZER IN CGSBPRGM TO "0-A-B NEEDED"
	CGSTMN(131)		SET NEDZER IN CGEND, CGSTOP & CGPAUS TO
				  "0-A-B NEEDED"
	PHA3(52)		GENERATE 0-A-B ONLY IF NEEDED
610	P2S2(56)	23333	BAD CODE FOR COMSUB WITH NEG FLAG 
				REPLACES EDIT 345.
611	OPGNTA(120)	23662	IMMEDIATE SIZE COMPLEX CONSTANTS CAUSE
				TROUBLE FOR CODE GENERATION.
612	IOPT(52)	23263	INITIALIZE ARRCOUNT IN IOCLEAR (THIS
				COMPLETES EDIT 406).
613	CGDO(140)	QA2114	IGNORE INDIRECT BIT IN FORMAL FUNCTION
				  TARGET IN ENTRY PROLOGUE
614	LISTOU(61)	23760	OUTPUT ONLY NON-BLANK LINES ON /LNMAP
615	PH3G(245)	23116	BE CAREFUL WITH LABELS WHEN PRELOADING
616	STREGA(218)	22345	I/O LIST UNDER REGISTER SCARCITY GIVES ICE
617	UTIL(87)	QA2121	ONLY TRY TO SUBSTITUTE THE SUBSCRIPT OF
				  AN ARRAYREF IF IT ISN'T A CONSTANT
620	COMSUB(265)	23720	D.P. ARRAY REF IN IO LIST CAUSES PROBLEMS
				DURING OPTIMIZATION (IOLSCLS NODE PTRS)
621	LISTNG(19)	QAR2120	ACCOUNT FOR PAGE MARKS AT END OF FILE.

*****	Begin Version 5B *****

622	CMPLEX(133)	11020	ICE WITH COMPLEX ARRAY REFERENCE
623	MOVA(27)	-----	FIX QUALIFY TO CALL ONLIST ONLY IF THE
				  DOCHNGL EXISTS (IE, WE'RE NOT IN AN
				  IOLIST: THIS IS NECESSARY TO USE A
				  BLIS10 NEWER THAN 7B(222)
624	ERRTB3		QA2166	REORDER RADIX 10 AND RELOC 400000
625	STREGA(219)	23122	FIX LHINREGALC TO SET INREGFLG WHEN
				  SETTING TARGTAC TO THE REG ON THE
				  LH OF THE ASSIGNMENT STATEMENT.
626	EXPRES(33)	23169	DON'T ALLOW FUNCTION NAMES OR ARRAY
				  NAMES WITHOUT A PARENTHESIZED
				  ARGUMENT LIST TO BE USED IN
				  EXPRESSIONS IN FUNCTION OR
				  SUBROUTINE ARGUMENT LISTS.
627	ACT1(114)	23755	GET VARIABLY-DIMESNIONED ARRAYS RIGHT
				  WHEN THE FIRST TWO (OR MORE)
				  SUBSCRIPTS ARE CONSTANT AND THE
				  DIMENSION STATEMENT APPEARS BEFORE
				  THE D.P. OR COMPLEX STATEMENT.
630	IOPT(53)	10962	FIX ISOLATE TO CATCH ALL IOLISTS
				  THAT CANNOT BE MADE INTO SLISTS
				  OR ELISTS. THIS INCLUDES CASES
				  LIKE A(-I), A(3*(I-1)), ETC.
				  THIS EDIT REMOVES EDITS 406 AND
				  612, WHICH ONLY CAUGHT SOME CASES.
631	VER5(6)		10962	TEACH VER5 HOW TO ZERO OUT DEF POINTS
				  ON IOLISTS.
632	ALCBLO(58)	24245	WHEN CLOBBERING A REG, DON'T CLEAR
				  VARINREGFLG IN THE SYMBOL TABLE IF
				  THE VARIABLE IS ALSO IN ANOTHER REG.
633	DOXPN(82)	24236	FIX EDIT 433 TO NOT CLOBBER A CONSTANT
				  TABLE ENTRY.
634	PH3G(246)	11277	PRELOAD VARIABLES IF THEY ARE FIRST USED
				  IN AN ASSIGNMENT STATEMENT THAT IS THE
				  OBJECT STATEMENT OF A LOGICAL IF.
635	ACT1(115)	24868	MAKE DATALIST RETURN -1 IF IT GETS E66,
				  SO CALLER WON'T BELIEVE RETURN VALUE
				  IS A LINKED LIST AND BLOW UP.
636	FIRST(131)	23066	DON'T DUMP LABELS TO THE REL FILE IF
	OUTMOD(73)		  WE DON'T KNOW THEIR VALUE.  THIS
	LISTOU(62)		  HAPPENS IF LABLADJ DECIDES THAT THE
				  LABEL IS UNREFERENCED AND DELETES IT.
637	GRAPH(128)	24802	IF SOME STATEMENTS DON'T GET
				  POSTDOMINATORS, FIX GRAPH SO THEY
				  DO INSTEAD OF GIVING INF LOOP MESSAGE
				  AND STOPPING OPTIMIZATION.  ALSO
				  MAKE INACCESSIBLE CODE ALGORITHM
				  LOOK AT PREDOMINATORS TO FIND MORE
				  CASES.  THIS FIXES EDIT 327.
640	GCMNSB(104)	24971	FIX DOTOHASGN TO CHECK TO SEE IF .O
				  ASSIGNMENT IS IN AN IMPLIED DO, NOT
				  IF .O USAGE IS.
641	PH3G(247)	25010	LOGICAL IF STATEMENT WITH CALL STATEMENT
				AS RESULT GIVES REGISTER ALLOCATION PROBLEMS
				IF IT DIRECTLY PRECEDES A DO LOOP
642	LEXICA(20)	11409	SPURIOUS PAGE HEADING MAY BE GIVEN IF FORM
				FEEDS OCCUR IN INPUT PROGRAM
643	GCMNSB(105)	25201	DO NOT ALLOW ARRAY REF TO BECOME PART OF
				TWO POTENTIAL COMMON SUB-EXPRESSIONS
644	COMSUB(266)	25390	IN LINE FUNCTIONS WITH NEG FLAGS - BAD CSE
645	LISTOU(63)	25249	EXTRA LINES PER PAGE IN LISTING IF ENTRY
	OUTMOD(74)		POINTS PRESENT .
646	LISTOU(64)	25250	SUBROUTINE SIXBIT NAME SHOULD NOT BE LOC 0
647	MOVA(28)	25315	ARRAYS IN HASH TABLE NEED SPECIAL TREATMENT
				IN REDEFPT - ICE OTHERWISE
650	LISTOU(65)	25247	MAKE LISTINGS NICER FOR DP AND STRING CONSTANTS
651	IOPT(54)	25062	IO LIST DEPENDENCIES WITH .O VARS
652	ALCBLO(59)	NONE	FIX CHKOTHREGS (EDIT 632) TO HANDLE 
				DOUBLE WORD VARIABLE CASE
653	F72BNF.SYN	25441	UNIT NUMBER FOR FIND STATEMENT SHOULD
				BE ANY ARRAY REFERENCE
654	COMMAN(654)	25297	SWITCHES IN BAD COMMAND LINE ARE TOO STICKY
655	COMMAN(655)	25338	EMPTY REL FILE WITH SYNTAX SWITCH
656	COMMAN(656)	25246	PROTECTION FAILURES NOT REPORTED
657	INOUT(41)	11554	/DEB/OPT WARNING MESSAGE KILLS FLAG
	DRIVER(21)		REGISTER SO NO LISTING FILE GIVEN
660	OPTMAC(1)	11427	IF(FN(I))GOTO 10 GIVES BAD CODE IF I IS
	PH3G(248)		LIVING IN REGISTER.
661	PNROPT(151)	24100	DO NOT THROW AWAY LABELED STATEMENT
662	PH3G(249)	25245	INACCESSIBLE DO LOOP CAN GIVE ICE
663	ACT1(116)	25643	FIX ENTRY POINTS WITH FORMAL FUNCTIONS
664	GCMNSB(106)	QAR118	NEG FLAG ON SKEWED EXPR SPELLS BAD CODE
665	GCMNSB(107)	QAR118	B/C(I) CANNOT BE CSE FROM A/B/C(I)
666	DATAST(45)	25572	DATA (A(I), I=10,1,-1) LOSES DUE TO
				NEGATIVE INCREMENT - FIX THIS.
667	LISTNG(20)	25664	PAGE MARK AT END OF BUFFER WITH ONE FOLLOWING
	LEXICA(21)		NULL WORD (LAST IN BUFFER) NOT TREATED RIGHT
670	LEXICA(22)	25571	CONTINUATION LINE MUST HAVE
				BLANK CHARS IN LABEL FIELD.
671	P2S1(62)	NVT	DEF PTS NEED TO BE SWAPPED WHEN
	DEFPT(120)		THE ARGUMENTS ARE SWAPPED
672	REGAL2(147)	25725	NOT FLAG ON ARRAY REF CAN GIVE PROBLEMS
673	DRIVER(22)	25984	REPORT ILLEGALLY NESTED DO LOOPS CORRECTLY
674	FIRST(132)	11803	INCREASE NESTING LEVEL FOR DO LOOPS
	GLOBAL(101)		FROM 32 TO 79, DO CLEANUP IN GLOBAL,
	CGDO(141)		ADD TEST FOR LARGER STACK OVERFLOW,
	ERROVG(2)		AND ADD ERROR MESSAGE TO ERROVG
	ERROUT(41)		AND ERROUT.
675	LEXICA(23)	26049	RUBOUT IN SOURCE PROG MAY GIVE INTERNAL
				ERRORS IN ROUTINE LEXICA - FIX IT
676	COMMAN(676)	11931	CHANGE RESET TO BE RESETUUO
677	IOFLG(12)	25573	ADD A DEBUG:PARAMETER SWITCH
	DRIVER(23)		this causes the compiler to 
	LISTNG(21)		generate code at entry points to
	CGDO(142)		check the number of parameters 
	OPGNTA(121)		passed.  forots edit 755 must be added 
	COMMAN(677)		at the same time as 677.
700	OPTMAC(2)	-----	REMOVE EHSIZ DECLARATION (AFTER EDIT 674)
701	COMSUB(267)	22582	2 ** .R CANNOT BECOME .R ** 2
702	OUTMOD(75)	-----	LISTING OF SUBPROGRAMS IS SLOPPY
703	OUTMOD(76)	-----	LISTING OF SCALARS AND ARRAYS CAN
				GIVE BLANK PAGE IN LISTING
704	COMMAN(704)	26390	FIX DEFAULT BUFFER SIZE (IF DEVSIZ FAILS)
705	LISTOU(66)	26442	MAKE NAME FROM PROGRAM STATEMENT BE
				AN ENTRY POINT FOR MAIN PROGRAM.
706	GCMNSB(108)	27170	OPTIMIZER GIVES BAD CODE FOR BIG
				EXPRESSION INVOLVING DO LOOP INDEX
707	SRCA(52)	27153	REDUCE JOBFF WHEN FREEING SPACE UP
710	DRIVER(23)	12299	FIX EDIT 657 TO INITIALIZE DEBOPT
711	CGSTMN(132)	26754	PUT OUT FIN CALL WITH ENCODE/DECODE
				TO RECLAIM FREE SPACE
712	DRIVER(25)	26490	ILLEGALLY NESTED LOOPS CAN GIVE ICE
				WHEN TRYING TO PRINT ERROR MESSAGE!
713	LEXICA(24)	26658	<CR><CR><EOB><LF> KILLS LEXICA
				WHEN PROCESSING COMMENT LINE
714	PNROPT(152)	26498	BAD CONSTANT PROPAGATION (CHOSEN BAD)
715	COMSUB(268)	12743	NOT FLAG IN COMSUB GIVES BAD CODE.
716	FIRST(133)	26409	SUBROUTINES WITH ALTERNATE LABEL
	ACT0(54)		RETURNS CAUSE GLOBAL REGISTER ALLOCATION
	GRAPH(129)		PROBLEMS.  PASS ON THE INFORMATION SO 
	PH3G(250)		THAT THE LOOPS CAN BE TREATED PROPERLY
717	LEXICA(25)	26560	GIVE MEANINGFUL ERROR MESSAGE ON
	ACT1(117)		REDEFINITION OF PARAMETER VARIABLE
720	PHA2(111)	27830	POOR CODE GENERATED FOR ASSIGN GO TO
				STMNT WITH NO LIST (OPTIMIZED ONLY)
721	STREGA(220)	-----	A=A*B SHOULD INVALIDATE REGISTER FOR A
				(IN CASE SOME OTHER VAR LIVES THERE)
722	STA2(46)	28072	ADD /NOCREF SWITCH TO INCLUDE STATEMENT
723	COMMAN(723)	-----	ADD /NOWARN: SELECTIVITY TO COMPILER
	INOUT(42)		SWITCH LIST.  CODE IS MAINLY IN COMMAN
	ERROVA(1)		(TO PROCESS THE SWITCH AND MODIFIERS)
	ERROVC(1)		AND IN INOUT (WHERE THE MESSAGE IS
	ERROVD(3)		PRINTED BY FATLERR).
	ERROVR(1)
	ERROVG(3)
724	TABLES(157)	-----	PREVENT ICE WITH N-ARY LOGICAL TREES
725	OPTMAC(3)	27403	CHANGE CSTMNT BEFORE CALLING NEXTUP
	COMSUB(269)
726	DOALC(109)	28283	FIX CODE FOR DOUBLE PRECISION (KA) AND
				COMPLEX PARAMETERS FOR STATEMENT FUNCTION
727	STA3(62)	13247	LOGICAL IF WITH TWO LABELS CAN CAUSE
				BAD BLOCK STRUCTURE (INCORRECT LABEL COUNT)
730	CMPLEX(134)	28275	BAD REGISTER ALLOCATION FOR A=AMIN(A,EXPR)
731	IOPT(55)	28246	BAD CODE FOR CSE IN I/O LIST (COMMON VAR)
732	ERROVC(2)	-----	DEFINE SAVSTMNT FOR EDIT 731 (NON-OPT)
733	TABLES(158)	-----	THE "NOT" OF AN EXPRESSION WHICH
	GOPTIM(54)		RESOLVES TO A CONSTANT AT COMPILE TIME
				HAS PROBLEMS USING THE OPTIMIER.
734	LISTOU(67)	-----	AFTER EDIT 650, DP CONSTANTS CAN GET
				PRINTED EVEN WITH CAMXX INSTRUCTIONS!
735	OUTMOD(77)	28528	OUTPUT HEADINGS ONLY WHEN NECESSARY
736	GCMNSB(109)	-----	BAD CODE FOR -(.R0-KONST) WITH V5/OPT
737	LEXSUP(12)	-----	ADD THE .NEQV. OPERATOR
740	PH3G(251)	13537	ALLOCATE REGISTERS FOR UNIT=ARRAY(I,J)
				IN OPEN AND CLOSE STATEMENTS
741	ERROUT(42)	-----	ADD WARNING MESSAGE WHEN WE FIND
	INOUT(43)		AN ARRAY DECLARED USING THE "/" TO
	ACT1(118)		SPECIFY UPPER AND LOWER BOUNDS.
	COMMAN(741)		ALSO CLEAN UP THE ERROR MODULES SO
	ERROVA(2)		THAT WE CAN ADD ERROR MESSAGES MORE
	ERROVC(3)		EASILY IN THE FUTURE WITHOUT HAVING
	ERROVD(4)		TO MAKE CHANGES TO EACH MODULE
	ERROVG(4)
	ERROVR(2)
	F72BNF.SYN
742	LEXICA(26)	-----	CHANGE STOP/PAUSE CONSTANT FROM
	STA0(47)		OCTAL TO DECIMAL CONSTANT (MAX 6 CHARS)
743	IOPT(56)	-----	FIX UP EDIT 651 TO BE NOT SO AMBITIOUS.
				KEEP THE OPTIMIZATION IF POSSIBLE.
744	STREGA(221)	28463	DOUBLE WORD ARRAY IN SLIST/ELIST MAY
				USE AN ODD-NUMBERED REGISTER TWICE.
745	STA0(48)	-----	ACCOMODATE LONG ARG LISTS (.GTR. 124)
746	LEXSUP(13)	13673	ALLOW FORMAT LABELS TO BE ASSIGNED TO
				VARIABLES IN ASSIGN STATEMENTS
747	ERROUT(43)	-----	MAKE ALL ERROR MESSAGES LOWER CASE
	ERROVC(4)		ALSO DO SOME CLEANUP WORK IN THE 
	ERROVD(5)		ERROR MESSAGE ROUTINES
	ERROVG(5)
	ERROVR(3)
	UNEND(4)
	COMMAN(747)

750	TFV	3-Jan-80	------
	Remove DEBUG:PARAMETER switch from compiler (edit 677) and
	from FOROTS (edit 755)
	Routines:
		CGDO(143)	COMMAN(750)	DRIVER(26)	IOFLG(13)
		LISTNG(22)	OPGNTA(122)

751	DCE	4-Feb-80	-----
	Change the way the LOOKAHEAD table is formatted and used.  Make
	action routines occupy a field rather than a bit (for expansion).
	Enhance MASK so that it is faster and better, and able to handle
	the new format.  Fix up LEFT72 in many ways - error detection and
	reporting, action routine handling, etc.  This also makes edit 741
	work properly!
	Routines:	LEFT72(23), FAZ1(34)

752	EGM	12-Feb-80	13736
	If fatal errors are generated during compilation, discard the .REL file.
	Routines:	COMMAN(752), INOUT(44)

753	EGM	12-Feb-80	29028
	Check the IO list implied loop initial value for .O variables when
	removing .O assignment nodes.
	Modules:	IOPT(57)

754	EGM	15-Feb-80	29120
	Make I/O dependency check work when common sub nodes are involved.
	Modules:	UTIL(88)

755	EGM	20-Feb-80	13884
	Allow lower case in INCLUDE/NOLIST/NOCREF for F20 version
	Modules:	STA2(47)

756	DCE	3-Mar-80	-----
	Addition to edit 751 so that more action routines can be used
	Modules:	FAZ1(35)

757	EGM	7-Mar-80
	Add extra checks and a new register allocation routine to free up the
	last free register pair for a node which is targetted for that pair.
	Modules:	REGAL2(148)

***** Begin Version 6 *****

760	TFV	1-Jan-80	-----
	Add new OPEN arguments, FORMAT descriptors, and keywords for
	I/O control lists
	Modules:
		ACT0(55)	ACT1(119)	CGSTMN(133)	COMMAN(760)
		DEFPT(121)	FIRST(134)	FMTLEX(2)	FORMAT(31)
		PHA2(112)	STA0(49)	STA1(67)	STREGA(222)
		TABLES(159)	UNEND(5)

761	TFV	1-Mar-80	-----
	Add /GFLOATING support and remove KA support (KA10FLG)
	Modules:
		ARRXPN(53)	CANNON(26)	CGDO(144)	CGEXPR(73)
		CGSTMN(134)	CMPLEX(135)	CNSTCM(68)	COMMAN(761)
		DATAST(46)	DEBUG(37)	DOXPN(83)	EXPRES(34)
		FIRST(135)	FLTGEN(2)	DRIVER()	GLOBAL(102)
		GNRCFN(33)	IOFLG(14)	LISTNG(23)	LISTOU(68)
		OPGNTA(123)	OPTAB(2)	OUTMOD(78)	P2S1(63)
		P2S2(57)	PNROPT(153)	SKSTMN(94)	STA1(68)
		TABLES(160)	VLTPPR(45)

762	EGM	18-Apr-80	-----
	Split COMMAN.MAC in two; COMMAN.MAC contains FTNCMD, and a new module,
	REVHST.MAC, contains the revision history and .JBVER symbols.
	Modules:
		COMMAN(100)	REVHST(762)

763	EGM	24-Apr-80	13913
	Cause optimizer to consider ENTRY formals during definition point
	determination
	Modules:
		DEFPT(122)

764	EGM	24-Apr-80	29279
	Do not alloacate a register for an immediate array ref I/O list item
	Modules:
		STREGA(223)

765	DCE	13-May-80	-----
	Add error message for future code (Expression illegal in output list).
	Module:	ERROUT(44)

766	DCE	13-May-80	-----
	Add error message for illegal use of an array.
	Modules:
		ERROUT(45), INOUT(45), STA0(50), COMMAN(NEW)

767	DCE	20-May-80	-----
	Rewrite much of the command scanner for clarity, bug fixes, etc.
	Fix bug with /GFL if GFL microcode not present; redo /GFL processing.
	Add /F77 switch (future use); also add secondary switch word.
	Modules:
		COMMAN(101) - Rewrite and clean up
		LISTNG(24)  - Add /F77 to heading, fix up /GFL
		IOFLG(15)   - Create secondary switch word F2, add F77
		FIRST(136)  - Move GFL flag into F2; redefine GFLOAT
		DRIVER(27)  - Remove GFLOATING microcode test (put into COMMAN)
		GLOBAL(103) - Add F2, secondary switch word; remove GFMCOK

770	EGM	20-May-80	29339
	Make the code to move simple assignments out of DOs work. This also
	allows detection of uninitialized variables from assignments that
	appeared in DO loops.
	Modules:
		MOVA(29)

771	EGM	29-MAY-80	14108
	Fix yet another case of mistaken STATEMENT FUNCTIONS causing the
	compiler to die.
	Modules:
		STA3(63)

772	EGM	5-Jun-80	29516
	Generate fatal error when variable used as an adjustable dimension is
	later found to be dimensioned itself.
	Modules:
		DOXPN(84)

773	EGM	12-Jun-80	14234
	Keep expressions such as X+.R and Y=.R from moving outside the DO
	loop after reduction in strength.
	Modules:
		TSTR(56)

774	EGM	12-Jun-80	14244
	For READ *,K,(X(L,K),L=1,2), keep expressions involving K from being
	common subed and moved off the I/O stmnt node. Addition to edit 731.
	Modules:
		IOPT(58)

775	EGM	17-Jun-80	10-29566
	Make sure .O propagation walks all the stmnt. nodes on the second and
	subsequent passes.
	Modules:
		PNROPT(154)

776	EGM	20-Jun-80	10-29609
	Eliminate ICE during register substitution for statements of the
	form IF()CALL ....
	Modules:
		PH3G(252)

777	EGM	27-Jun-80	-----
	Eliminate bogus syntax error when parsing I/O unit spec. which is an
	array reference. Example: READ(I(1),20)K. Edit 751 must be installed
	for this error to occur.
	Modules:
		ACT0(56)

1000	EGM	27-Jun-80	10-29620
	Flag error if no name appears on a PROGRAM statement
	Modules:
		STA2(48)

1001	EGM	30-Jun-80	-----
	Rework product build command files. Eliminate references to obsolete
	software and make handling of SCAN, WILD, and HELPER easier.
	Modules:
		COMMAN(102)

1002	TFV	1-Jul-80	------
	Add a new structure EVALTAB for the lookup of argtype codes
	for argblock entries
	Modules:
		CGDO(145)	CGSTMN(135)	DEBUG(40)	TABLES(161)

1003	TFV	1-JUL-80	------
	Add global symbol ..GFL. to REL block if compiled /GFLOAT.
	Use binds for processor and compiler ids in REL block
	Modules:
		LISTOU(69)	OUTMOD(79)

1004	TFV	1-Jul-80	------
	Fix library function handling to choose the 'Dxxxxx' or 'Gxxxxx'
	routines for DP based on /GFLOAT
	Modules:
		EXPRES(35)	GNRCFN(34)

1005	TFV	1-Jul-80	------
	Fix OPENCLOSE to handle unit specs without the unit=
	Modules:
		ERROUT(46)	STA1(69)

1006	TFV	1-Jul-80	------
	Remove copies of KISNGL from CGEXPR.BLI and OUTMOD.BLI putting
	one copy in UTIL.BLI (where it belongs).  Fix immediate real
	constants printed in listings.  Give warning for constant
	overflows. Add code for specops (p2mul, p2div, p21mul) for
	real and DP numbers.
	Modules:
		CGEXPR(74)	CNSTCM(69)	FLTGEN(100)
		OUTMOD(80)	UTIL(89)

1007	EGM	6-Aug-80	10-29681
	Prevent PUTBAK from clobbering random words and pointers when attempting
	to do common sub replacement for a DATACALL I/O list node.
	Modules:
		IOPT(59)

1010	EGM	12-Aug-80	10-29839
	Allow definition point detetction to happen for NAMELIST elements.
	Modules:
		DEFPT(123)

1011	DCE	7-Sep-80	-----
	Allow TESTREPLACEMENT in implied loops (fix edit 577)
	Modules:
		TSTR(57)

1012	DCE	7-Sep-80	-----
	REDUCE needs to be careful about non-integer SPECOPs.
	Modules:
		TSTR(58)

1013	DCE	14-Oct-80	-----
	If end-of-statement causes syntax error, get error msg right.
	Modules:
		INOUT(46)

1014	TFV	27-Oct-80	Q10-04556
	Allow list directed rereads, making reread just like ACCEPT, TYPE, etc.
	Modules:
		STA1(70)

1015	TFV	27-Oct-80	Q10-04743
	FMT= is not optional for type, accept ,reread, etc.
	Modules:
		STA1(71)

1016	TFV	27-Oct-80	Q10-04759
	Report names for misspelled OPEN/CLOSE parameters
	Modules:
		STA1(72)

1017	TFV	27-Oct-80	Q10-04733
	Fix IOSTAT processing in OPEN/CLOSE
	Modules:
		STA1(73)

1020	TFV	27-Oct-80	Q10-04575
	Add synonms for PDP-11 FORTRAN compatibility to OPEN/CLOSE.
		INITIALSIZE=	- 	FILESIZE=
		NAME=		-	DIALOG=
		TYPE=		-	STATUS=
	Also fix ERR= processing. Only allow ERR=label.
	Modules:
		STA1(74)

1021	TFV	27-Oct-80	Q10-04502
	Fix E0, E2, and E3 to read found when expecting ... (Remove 'a'.)
	Modules:
		ERROUT(47)

1022	TFV	27-Oct-80	------
	Preserve bit patterns for octal and literal assigned to real under
	GFLOATING.  Rounding the DP value to SP destroys the pattern.
	Modules:
		PNROPT(155)
		VLTPPR(46)

1023	DCE	6-Nov-80	-----
	Fix optimizer so that we get ELISTS and SLISTS again.  Reduction
	in strength for variables of type INDEX was not happening.
	Modules:
		TSTR(59)

1024	SRM	21-NOV-80	-----
	Fix REGCLOBB to handle assignments of the form: REAL='literal'
	when compiling /gfl. REGCLOBB had assumed that if the first
	half of a literal was in an AC the second half must be in an
	adjacent AC. Edit 1022 changed this for /gfl, by not "converting"
	literals to real.
	Modules:
		ALCBLO(60)

1025	TFV	21-Nov-80	------
	Fix conversion of reals to logical under GFLOATING.
	Just taking the high order word losses.
	Modules:
		CNSTCM(70)

1026	DCE	24-Nov-80	-----
	Poor checking for I/O dependeicies in I/O lists (bad routine name)
	Modules:
		SKSTMN(95)

1027	DCE	25-Nov-80	-----
	Add various definitions for V7 DO loops
	Modules:
		TABLES(162)

1030	TFV	25-Nov-80	------
	Fix GFLOATING DP to INT conversion (use GFIX not GFIXR).
	Also leave an edit history for the ERR=label fix to OPENCLOSE
	Modules:
		CNSTCM(71)	STA1(75)

1031	TFV	25-Nov-80	------
	Fix ABS for GFLOATING constants. Use DABS since low word has significance
	When folding relationals, chose low or high word of each constant
	based on VALTP1 since octals are not converted to real under GFLOATING.
	Modules:
		CNSTCM(72)	P2S1(64)

1032	EDS	1-Dec-80	10-30251
	When processing DATA statements free up the space used by constant
	sets, constant options and repeat lists.
	Modules:
		STA1(76)

1033	DCE	4-Dec-80	-----
	Expand size of DO node to include DOZTRLABEL
	Modules:
		FIRST(137)

1034	DCE	4-Dec-80	-----
	Do Def points better for F(G(X)) - X may change...
	Modules:
		DEFPT(124)

1035	DCE	10-Dec-80	-----
	Put out count for calls to .IOLST - add COUNTARGS routine.
	Modules:
		CGSTMN(136)

1036	DCE	31-Dec-80	QAR-1348
	Fix edit 1007 to make ALL backpointers availible - even those
	in innermore loops.  This makes insertion of the IOLSTCALL
	node correct in the more obscure cases.
	Modules:
		IOPT(60)

1037	EDS	29-Dec-80	10-30396
	Initialize LOGICAL variables in assignment statements when
	dependent on relational expression.
	Modules:
		CGEXPR(75)

1040	EDS	8-Jan-81	20-15381
	Fix EXPRTYPER to step through NEGNOT nodes when deciding
	if type conversion nodes are needed.
	Modules:
		VLTPPR(47)

1041	DCE	14-Jan-81	-----
	Fix I/O Optimizer bug where ((A(I),I),J=1,2) does not know
	that A(I) can depend on I (in a READ statement)
	Modules:
		IOPT(61)

1042	TFV	15-Jan-81	------
	Prohibit list directed encode/decode.
	Modules:
		STA1(77)

1043	EGM	19-Jan-81	20-15466
	Add 'Consecutive arithmetic operators illegal' warning.
	Modules:
		COMMAN(103), ERROUT(48), EXPRES(36), INOUT(47)

1044	EGM	20-Jan-81	20-15467
	Add fatal error 'XXXXXXX type declaration out of order'
	for the case where executable code preceeds such a statement.
	Modules:
		DRIVER(28), CODETA(3), ERROUT(49)

1045	TFV	20-Jan-81	-------
	Fix OPENCLOSE so ERR= literal, etc.  doesn't break label processing.
	NONIOINIO and LOOK4LABELS were not being reset.
	Module:
		STA1(78)

1046	EGM	23-Jan-81	--------
	Replace edit 1040 to handle all cases of negated DP .boolean. DP.
	Module:
		VLTPPR(48)

1047	EGM	22-Jan-81	Q10-05325
	Add support for TOPS-10 execute only.
	Modules:
		EXOSUP(1), COMMAN(104), MAIN(30), DRIVER(29), PH2S(31),
		PHA2(113), PH3G(253), P3R(50), PHA3(53), LISTNG(25), UNEND(6)
		Plus all the .CMD files and .CTL files

1050	EGM	6-Feb-81	--------
	Fix incorrect graph for a program containing an arithmetic IF where all
	3 branchs go to the same label. Also, in that case, retain the IF
	expression if there are any function calls in it.
	Module:
		SKSTMN(96)

1051	EGM	9-Feb-81	--------
	Global register allocator does not always note that a DO loop index has
	been globally allocated. Also, do not do global allocation on a loop
	containing alternate returns from routines.
	Module:
		PH3G(254)

1052	EGM	9-Feb-81	--------
	Correct graph for extended range range brach out of inner DO to
	main code, to terminus of inner DO.
	Module:
		GRAPH(130)

1053	EDS	11-Feb-81	--------
	Make FORTRA a global symbol.
	Module:
		COMMAN(105)

1054	DCE	12-Feb-81	-----
	Fix bug with common subs and non-existant parent pointer (/OPT only)
	Module:
		P2S2(58)

1055	DCE	24-Feb-81	-----
	Fix bug in HAULASS where assignment stmnts moved when they shouldn't
	Module:
		MOVA(30)

1056	DCE	3-Mar-81	-----
	Stick type conversion node beneath .NOT. node when necessary
	to prevent awkward register allocation problems to odd registers.
	Module:
		EXPRES(37)

1057	EDS	10-Mar-81	Q20-01410
	Check the initial value and upper limit when looking for the index
	variable in I/O optimizations.
	Module:
		TSTR(60)

1060	DCE	6-Apr-81	-----
	Fix bug with const*negative-power-of-two (constant folding)
	Module:
		PNROPT(156)

1061	DCE	15-Apr-81	-----
	Add warning for # used in random access.
	Modules:
		ERROUT(50),COMMAN(106),INOUT(50),ACT0(57)

1062	EDS	15-Apr-81	10-30950
	Fix special case of SPECOP producing incorrect code.  The case
	of I=-1*I**2 should not be computed to memory.
	Module:
		MEMCMP(30)

1063	DCE	23-Apr-81	QAR5631
	Add error detection for jumps into loops with no exits.
	Modules:
		GRAPH(131)	ERROUT(51)	ERROVD(6)

1064	EDS	28-Apr-81	Q20-01483
	Replace edit 1037.  Incomplete code generated for logical
	assignment statement.  Bad code generated during optimization.
	Modules:
		CGEXPR(76)	REGAL2(149)

1065	EGM	13-May-81	Q10-05053
	Replace SCAN specific error macros with parallel ones tailored for
	FORTRAN. Eliminates ICEs after errors, and strange ? FTNXXX prefixs.
	Module:
		COMMAN(107)

1066	EGM	13-May-81	Q10-05202
	Eliminate LINE:xxxxx in error messages where not pertinent.
	Modules:
		DRIVER(30)	ERROUT(52)	ERROVC(5)	ERROVD(7)
		ERROVG(6)	ERROVR(4)	GRAPH(132)	INOUT(51)
		PHA2(114)

1067	EDS	13-May-81	31074
	Do not allow register 1 to be made available for a statement if
	common subexpressions have already been allocated in it.
	Module:
		STREGA(224)

1070	CKS	14-May-81
	(turned into 1453)

1071	CKS	22-May-81
	Remove TAPEMODE from OPEN/CLOSE parameter plit
	Modules:	STA1(79)

1072	CKS	22-May-81
	Remove %Consecutive arithmetic operators illegal until it can be
	put under flagger switch
	Modules:	EXPRES(38)

1073	DCE	22-ay-81	-----
	Fix ORERROR so that REAL+ gives reasonable error msg.
	Modules:	FAZ1(36)

1074	SRM	27-May-81
	Fix problems with folding logical IF's that have A1NOTFLG set.
	The NOT was being ignored for REAL and DP expressions.
	Modules:	P2S2(59)
			PNROPT(157)

1075	EGM	28-May-81	--------
	Add GFL equivalent functions for IDINT and SNGL.
	Module:		GNRCFN(35)

1076	TFV	8-Jun-81	------
	Allow list-directed reads and writes without an iolist.
	Modules:
		CGSTMN(138)	STA0(54)	STA1(81)

1077	AHM	8-Jun-81	-----
	Put in missing JFCL after GETPPN uuo in GETPPN routine.
	Modules:
		BLIO(1)

1100	EDS	9-Jun-81	20-31141
	Add new error messages and make a statement label
	definition entry even if an ENF error (E91) should occur.
	Modules:
		LEXSUP(16)	ERROUT(53)

1101	EGM	12-Jun-81	QAR10-05209
	ELiminate bad placement of CSSE initialization when expression
	containing CSSE immediately follows a DO loop.
	Module:
		GCMNSB(110)

1102	CKS	18-Jun-81	-----
	Make .not.(-(-(.not x))) work.  NOTOFNEG and NEGOFNOT were not
	noticing the NEGFLG and NOTFLG returned by the expression under them.
	Modules:
		P2S2(60)

1103	EGM	23-Jun-81	QAR20-01439
	Eliminate bad code for LOGICAL=double-word assignments. Also,
	make REAL=COMPLEX as efficient as the code intended.
	Module:
		VLTPPR(50)

1104	EGM	25-Jun-81	--------
	Eliminate bad code during optimization constant propagation. Negs
	in assignments were not being carried with the constants.
	Modules:
		PNROPT(159)

1105	DCE	26-Jun-81	-----
	Addition to edit 1063.  For nested loops, be sure that the loop
	label keeps a correct label count within LABLADJUST.
	Modules:
		PHA2(115)

1106	EGM	29-Jun-81	--------
	Correction to edit 1103. Restrict the REAL=COMPLEX check to only
	COMPLEX variables (not for instance, functions) to agree with what
	the register allocator expects. Eliminates bad code.
	Module:
		VLTPPR(51)

1107	TFV	14-Jul-81	------
	Give an error for the illegal constants 0H and ''.  They are prohibited
	by the 77 standard.  The compiler used to build 0H as a word of nulls
	and '' as a a word of spaces followed by a word of nulls.
	Modules:
		ERROUT(56)	LEXICA(30)

1110	EGM	15-Jul-81	--------
	Addition to edit 773. Do not consider implied DOs, when modifying the
	'variables changed in the DO' list.
	Module:
		TSTR(61)

1111	EDS	15-Jul-81	10-31190
	Fix optimizer bug so that ((A(J,K),J=1,2,I),K=1,2,I) with I in
	common does not create a common subexpression which is only used
	once.  The CSE would be allocated to a register and ALCIOLST
	would re-allocate the register.
	Module:
		IOPT(63)

1112	DCE	17-Jul-81	-----
	Fix edit 1063 so that graphing does the right thing by local label
	counts for nested DO loops with inner references to outer labels.
	Module:
		GRAPH(134)

1113	CKS	17-Jun-81	-----
	Fix code motion bug; don't put a CSE calculation after a statement
	which has more than 1 successor.  (A statement with more than 1 
	successor has no "after".)  To do this, for any statement that has
	more than 1 successor, set ACC bits for each variable that the
	statement modifies in the statement's postdominator and each successor.
	Modules:
		DEFPT(125)

1114	CKS	22-Jun-81
	Set up R2 in STA0, prevents random "?FTNNIO Namelist directed I/O
	with I/O list" messages
	Modules:
		STA0(45)

1115	EGM	30-Jul-81	--------
	Rework /NOWARn selectivety for expandibility and maintainibility.
	Supercedes edit 723, alters edits 741,766,1061,1063.
	Modules:
		COMMAN(109)	INOUT(52)	ERROVA(3)	ERROVC(6)
		ERROVD(8)	ERROVG(7)	ERROVR(6)

1116	JLC	26-Aug-81
	Rework FLTGEN to be more correct, and compatible with FLIRT.
	Modules:
		FLTGEN(101)

1117	EGM	26-Aug-81	--------
	Eliminate fixed high seg origin and other restrictions for TOPS-10 EXO.
	Modules:
		COMMAN(110)	MAIN(31)	EXOSUP(2)

1120	AHM	9-Sep-81	Q10-06505
	Fix edit 735 by always clearing a flag so that the
	"EQUIVALENCED VARIABLES" header is produced again.
	Module:
		OUTMOD(86)

1121	EGM	9-Sep-81	--------
	Add GETTABs to determine full path and device for GETSEGs
	Modules:
		COMMAN(111)	GLOBAL(113)

1122	EDS	22-Sep-81	10-31589
	Fix PRIMITIVE to detect invalid complex expressions.
	Module:
		EXPRES(40)

1123	AHM	24-Sep-81	Q20-01650
	Make IOSTAT= work for arrays, formals and registers.
	Modules:
		STREGA(226)	CGSTMN(140)

1124	AHM	24-Sep-81	Q20-01651
	Make the compiler realize that IOSTAT= and ASSOCIATEVARIABLE= alter
	formals so that they are stored at subprogram epilogue.
	Module:
		STA1(84)

1125	DCE	24-Sep-81	-----
	Fix up local label counts one more time so that we can better
	detect jumps into loops.  Catch the more obscure cases.
	Module:
		GRAPH(135)

1126	AHM	24-Sep-81	Q20-01654
	Remove last vestiges of CALL DEFINE FILE support.
	Modules:
		LEXICA(34)	GOPTIM(55)	DEFPT(126)

1127	AHM	24-Sep-81	------
	Change erroneous (and potentially  dangerous) use of  IDTARGET
	to TARGADDR in ARRNARGBLK.
	Module:
		CMPLEX(139)

1130	AHM	25-Sep-81	Q20-01647,Q20-01648
	Fix bad Y field reference in PEEP02 by changing
	PEEPPTR[0,PBFSYMPTR] to PEEPPTR[0,PBFADDR].
	Also insert missing dot before PEEPPTR[1,PBFSYMPTR]
	in macro PRVNONEQNXT.
	Module:
		PEEPOP(78)

1131	AHM	25-Sep-81	Q20-01671
	Check for storing before the first word of an array in DATA
	statements since we already check for storing after the last word.
	Module:
		DATAST(52)

1132	AHM	25-Sep-81	Q10-06347
	Change E150 (edit 1061) to refer to REC= as well as '.
	Also, make the entries in the DUMDUM plit in ACT1 have mixed case.
	Modules:
		ACT0(61)	ACT1(127)	ERROUT(63)

1133	TFV	28-Sep-81	------
	Add /STATISTICS flag for in-house performance measurement.  It is
	disabled in the released V6.
	Modules:
		COMMAN(113)	GLOBAL(115)	IOFLG(16)
		LISTNG(26)	OUTMOD(87)	SRCA(53)
		UNEND(7)

1134	EGM	1-Oct-81	10-31654
	Eliminate bad code produced for READ/WRITE/FIND with both a subscripted
	record unit number and record number, where a record number subscript
	has been left in an AC prior to the I/O statement. Also expand edit
	376 to include FIND.
	Module:
		CGSTMN(142)

1135	RVM	15-Oct-81
	Make conversion from DOUBLE PRECISION to COMPLEX do rounding.
	Module:
		OPGNTA(127)

1136	AHM	19-Oct-81
	Make graphing know about END= and ERR= for lots of I/O statements.
	Also make global label ref counts correct for END=/ERR=.
	Modules:
		ACT1(128)	GRAPH(136)

1137	DCE	20-Oct-81	-----
	Fix looping optimizer for inaccessible DO stmnt with jumps
	into the loop.
	Modules:
		GRAPH(137)

1140	DCE	21-Oct-81	-----
	Same as 1137, but for nested inaccessible loops where only the inner
	loop has an entrance (outer loop does not get HASENT set).
	Modules:
		GRAPH(138)

1141	EGM	27-Oct-81	10-31686
	Produce diagnostic when more than 24 significant digits in an octal
	constant.
	Module:
		LEXICA(36)

1142	EGM	28-Oct-81	Q10-06254
	Eliminate ICE for an IO list complex enough to require more than 63
	registers (64 single precision array references, for example).
	Module:
		STREGA(229)

1143	AHM	13-Nov-81
	More of edit 1136 to make  "data transfer" statements work as well  as
	"device control" statements.  Delete code in IODOXPN that  incremented
	the reference  count  for  labels  used in  END=  and  ERR=  in  "data
	transfer" statements.  BLDKEY now references those labels correctly.
	Module:
		DOXPN(88)

1144	EGM	11-Nov-81	Q10-06632
	Eliminate obscure problems and ICEs when optimizing, and hash table
	is such that the last hash entry found in the table for a loop is for
	an array ref, and the actual expression using that array ref now points
	to the hash table. eliminates unwanted calls to NEWCOPY.
	Module:
		GCMNSB(111)

***** Begin Version 6A *****

1145	EGM	7-Dec-81	10-31836
	Eliminate bad code produced when the register allocator is forced to
	target an arithmetic expression computation to memory, after the
	complexity pass has targeted the expression to the function return
	register. Also make sure that nodes computed to memory are not
	expected to have also left the proper result in the AC used for the
	computation.
	Module:
		REGAL2(153)

1146	EGM	5-Jan-82	20-17060
	Report correct ISN when giving errors for EQUIVALENCE conflicts.
	Module:
		OUTMOD(97)

1147	EGM	5-Jan-82
	Eliminate bogus error message and ICE for RETURN^Z.
	Module:
		DRIVER(36)

1150	DCE	16-Feb-82	20-17292
	When optimizing, one may get incorrect error messages if there
	are ASSIGN statements to labels which occur within loops.
	The error message will always be: Illegal Transfer into loop...
	Modules:
		FIRST(154)	STA0(70)	GRAPH(139)

1151	EGM	25-Mar-82	20-17494
	Report ?Program too large for COMMON 512P or larger
	Module:
		OUTMOD

1152	EGM	29-Mar-82	10-32187
	Check all OPEN/CLOSE parameters for possible register substitution
	when doing global register allocation. Expansion of edit 740.
	Module:
		PH3G

1153	EGM	3-Jun-82	20-17625
	Programs containing many I/O statements that compiled under previous
	versions may now run out of memory. Augment edit 760 to release syntax
	list items when they are no longer needed.
	Modules:
		ACT1		STA0		STA1
	(Note: This edit was not put into version 7. It was supplanted
	by V7 edit 1550. SRM)

1154	EGM	3-Jun-82	10-32488
	Correct bad code generated for I=-(.NOT.(boolean)). Prevent compute to
	memory happening for expression node if neg/not driven up.
	Module:
		MEMCMP
	(Note: This edit was not put into version 7. The problem had
	already been fixed by V7 edit 1426. SRM)

1155	EGM	9-Jun-82	20-17790
	Allow declarartion semantics checking to continue checking items after
	the first error occurs.
	Module:
		ACT1

1156	EGM	10-Jun-82	None
	Eliminate stack overflow when trying to print out error that expression
	is too complex.
	Module:
		EXPRES
	(Note: This edit was not put into V7. It was fixed by V7
	edit ???. SRM)

1157	EGM	11-Jun-82	20-17871
	Alter error message FTNMVC to indicate that there are more or less
	data items than constants in a DATA statement.
	Modules:
		DATAST		ERROUT		ERROVR

1160	EGM	14-Jun-82	20-17877
	Correct edit 752 and make sure .REL files are discarded when any
	fatal errors occur during a compile command. Also make 20 code
	skip .REL file generation when systax checking as the 10 code does.
	Modules:
		COMMAN		INOUT		UNEND		IOFLG

1161	EGM	25-Jun-82	10-32686
	Prevent bad code when optimizer has globally allocated a var to live in
	a reg, and assignments to the reg occur that involve use of the reg on
	the RH such that the calc cannot occur directly to the reg (does not
	clobber reg state entry).
	Module:
		STREGA

1162	PY	29-Jun-82	None
	Allow ^Z as first character of source typed from the TTY. Make
	^Z give free CRLF on TOPS-20. Also replace obsolete RDTXT JSYS
	with TEXTI. Clear freelist pointers in case first call to LEXICAL
	generates an error. Clear .JBFF through .JBREL so TTY input will
	not appear to have line sequence numbers.
	Modules:
		DRIVER		LEXICA		LISTNG


1163	TGS	1-Jul-82	20-17540
	If /DEBUG:INDEX is specified, bypass optimization that substitutes
	a regcontents node using the function return register for the left-
	hand side of an assignment statement to the function variable.
	Module:
		DOALC

1164	EGM	12-Jul-82	20-17819
	Eliminate possibility of certain nested DO loops throwing the grapher
	into a loop.
	Module:
		GRAPH

1165	CDM	29-Sept-82	SPR: 10-33034
	2ND argument to ADDLAB had to be corrected in routine POPT11.
	[This was fixed by edit 1635 in V7.]
	Module:
		PEEPOP

1166	CDM	9-Dec-82	10-33208
	Enlarge RDCLST by 1 element to 19, since BLISS starts counting at
	0, not 1.

1167	TFV	11-Jan-83	20-18247
	Fix LOOKELEM2 to  check E1/E2LISTCALLs  to see if  the count  or
	increment depend  upon previous  iolist elements.   Fix  CONTVAR
	code for E1/E2LISTCALLs and make it handle arrayrefs properly.

***** Begin Version 7 *****

1200	DCE	28-APR-80	NONE
	Establish revision history for version 7
	Module:
		REVHST(1200)

1201	DCE	19-JUN-80	-----
	Add new keywords - CHARACTER, ELSE, ENDIF, THEN, INQUIRE, INTRINSIC,
	SAVE.
	Module:
		CODETA(4)

1202	DCE	1-JUL-80	-----
	Add substantial code for expressions on output lists.  The main
	work is in ACT1 where several new low-level routines are introduced.
	The BNF also needs to be changed, so many of the low-level routines
	need to be recompiled as well.
	Modules:
		F72BNF(1) - Change the BNF for expressions on output lists
		ACT1(120) - Add semantics processing routines for the same
		EXPRES(39) - NOLPAR action routine to assist
		CMPLEX(136) - To allocate constants
		STA0(51) - Add appropriate calls to LISTIO
		STA1(80) - Add appropriate calls to LISTIO
	Modules recompiled: CODETA,FAZ1,STA2,STA3

1203	DCE	24-Nov-80	-----
	More work for I/O lists.  Change the entire approach (largely due to
	complex constants).  Add substantial code to EXPRES where we have
	interwoven I/O lists.
	Modules:
		F72BNF(2) - Change I/O lists to use NOTEOL and GIOLIST
		ACT1(121) - Changes to CCONST (especially for GFL)
		EXPRES(40) - Put I/O list processing in with expression parsing
		GLOBAL(104) - Make CONTROL type come out as LOGICAL for arg list
		STA0(52) - Change calls to LISTIO
	Modules recompiled: CODETA,FAZ1,STA2,STA3

1204	DCE	25-NOV-80	-----
	Begin work on zero trip loops.  Modify the trip count calculation
	to conform to F77 standard.  Preserve F66 behavior under F66 switch.
	Module:
		DOXPN(85)

1205	DCE	20-Mar-81	-----
	Make the F66 and F77 switches available - make F77 the default.
	Module:
		COMMAN(108)

1206	DCE	20-Mar-81	-----
	More work on zero trip loops.  Add code generator to jump around
	a potential zero trip loop, add code to produce final loop value
	for both real and implied (ELIST) loops.
	Modules:
		OPGNTA(124) - DOZJMP code generator
		CGDO(146) - Real DO loop code
		CGSTMN(137) - ELIST code

1207	DCE	3-Apr-81	-----
	Work on I/O optimizations and the materialization of final loop
	values when an ELIST/SLIST is generated by the optimizer.  Catch
	all the new dependencies introduced by the FORTRAN standard.
	Modules:
		IOPT(62),SKSTMN(97)

1210	DCE	6-Apr-81	-----
	For ELISTs, do regsubstitution into the assignment statements
	created to establish final loop values.
	Modules:
		UTIL(90)

1211	DCE	29-Apr-81	-----
	Do complexity analysis for final loop value assignments (ELISTS).
	Module:
		CMPLEX(137)

1212	TFV	29-Apr-81	------
	Add compile time data structures for CHARACTER data. Replace LITERAL
	with HOLLERITH where appropriate.
	Modules:
		ACT1(122)	ALCBLO(61)	DATAST(47)	ERROUT(53)
		FIRST(140)	GLOBAL(105)	LEXSUP(14)	PNROPT(158)
		TABLES(163)	VLTPPR(49)

1213	TFV	20-May-81	------
	Add character declaration syntax and semantics.  Fix BLDDIM to compute
	array size, array offset, and factors in characters for character data.
	Add code to handle IMPLICIT CHARACTER*n.
	Modules:
		ACT0(58)	ACT1(123)	DRIVER(31)	FIRST(141)
		GLOBAL(106)	LEXICA(28)	STA2(49)	STA3(64)
		ASHELP(5)

1214	CKS	20-May-81	------
	Add IF-THEN-ELSE
	Modules:
		LEXICA(27)	CODETA(5)	STA3(65)	STA2(50)
		ERROUT(54)	GLOBAL(107)	DRIVER(32)	ACT1(124)

1215	DCE	22-May-81	-----
	Fix MASK to handle more BNF possibilities (especially exprs in I/O lists).
	Modules:
		FAZ1(37)

1216	DCE	28-May-81	-----
	Add F77 SLIST and ELIST (zero trip) entries into TABLES.
	Modules:
		TABLES(165)

1217	DCE	28-May-81	-----
	All null argument lists in CALL statements.
	Modules:
		STA0(53), ACT0(59)

1220	DCE	2-Jun-81	-----
	Allocate registers for assignment statements to DO variables,
	and temps for fn calls as I/O elements.
	Modules:
		STREGA(225)

1221	CKS	4-Jun-81	-----
	ASCII literals are funny since the new expanded literal node format.
	Too much code uses hardwired offsets into the node.   Use symbols
	instead.
	Modules:
		FIRST(142), LEXICA(29), LEXSUP(16)

1222	CKS	8-Jun-81
	Make CONST1 equal LIT1 by moving CONST1 and CONST2 down a word.
	Much code depends on CONST1 and LIT1 being equal.
	Modules:
		FIRST(143)

1223	DCE	9-Jun-81	-----
	Make special calls to FOROTS for F77 ELISTS and SLISTS.
	Modules:
		CGSTMN(139)

1224	CKS	12-Jun-81	-----
	Fix LITSIZ calculation; make it independent of the size of the literal
	node header.  Have the listing routine output the whole asciz literal,
	not just the first 2 words.
	Modules:
		LEXSUP(18)	LISTOU(71)	STA2(51)

1225	CKS	17-Jun-81	-----
	Converted to edit 1113.

1226	SRM	19-Jun-81
	Changed order of search in REGCONTAINING so that if variable
	is in both AC 0 and another AC it will return the other one.
	Modules:
		ALCBLO(62)

1227	CKS	22-Jun-81
	Define CONST2L to be left half of CONST2, change CW4L in CGDO to
	CONST2L.
	Modules:
		FIRST(145)	CGDO(147)

1230	CKS	22-Jun-81
	Converted to edit 1114.

1231	CKS	23-Jun-81
	Remove edit 1226.  It results in double word quantities in (N,N+1)
	being "found" in (N+1,N+2).
	Modules:
		ALCBLO(63)

1232	TFV	24-Jun-81
	Fix ALLSCAA and ALCCON to handle character data and character
	constants.  Output character data to the .REL file; output the
	descriptors to the low seg for dummy args, to the high seg for
	non-dummy arg character data.  Add CHDECL to test whether a character
	declaration or an implicit character declaration was scanned in FORTB.
	If not, don't walk the symbol table to generate high seg descriptors.
	Also add a new section to the .LST file for character data.  List
	character variable and array names, descriptor locations, location and
	character position for the start of the data, and the length of the
	data.
	Modules:
		ACT0(60)	GLOBAL(108)	OUTMOD(81)	P3R(51)
		PH3G(255)	REQREL(1)	STA2(52)

1233	CKS	25-Jun-81
	Make optional comma in "READ(1), X" work again.  The problem is
	complex; see comments in STA0.  Add action routine OPTCOMMA,
	slightly change expected shape of syntax tree in RWBLD, BLDIO1,
	BLDEDCODE.
	Modules:
		F72BNF(8)	STA0(56)	STA1(82)

1234	CKS	1-Jul-81
	Removed.

1235	CKS	1-Jul-81
	Add action routine ERREOL to type an error message for "TYPE *,".
	Without this routine, that statement does not parse or generate code,
	but does not get an error message either.  NOTEOL is called, decides
	that no IO list is present, and returns failure expecting the parser
	to go on to another alternative.  There is no alternative in the TYPE
	statement's production.
	Modules:
		F72BNF		EXPRES(41)

1236	SRM	15-July-81
	Made DATAST treat initialization of numeric variables with
	character constants like initialization of numeric variables
	with hollerith
	Modules:
		DATAST(50)

1237	CKS	20-Jul-81
	Change text of error message E75 to 'entry illegal in range of block IF
	or DO loop'
	Modules:
		ERROUT(57)

1240	CKS	28-Jul-81
	Add BPADD macro.  BPADD(BYTE-POINTER,NUM) is BYTE-POINTER incremented
	NUM times.  Generates an ADJBP instruction.
	Modules:
		TABLES(167)

1241	CDM	29-Jul-81
	Add Version  7  Instrinsic  functions to  compiler  tables  in
	GNRCFN.  Also added more functions to be generic, and  changed
	1 line to correctly get /GFLOATING dotted names for  functions
	in MAKLIBFN (in GNRCFN).
	Modules:
		GNRCFN(36) 	GLOBAL(110)

1242	CKS	29-Jul-81
	Allow initialization of character variables in DATA statements
	Modules:
		DATAST(51)	RELBUF(31)	ERROUT(58)	ERROVR(5)
		ACT1(126)

1243	CKS	30-Jul-81
	Add lexeme CONCAT, the // concatenation operator
	Modules:
		LEXNAM(1)	EXPRES(42)	TABLES(168)	LEXSUP(20)

1244	CKS	2-Aug-81
	Make EXPRES parse substring references and concatenation expressions
	Modules:
		EXPRES(43)	LEXICA(31)	ERROUT(59)

1245	TFV	3-Aug-81	------
	Add ISHISEGADDRESS to symbol table entries.  Character data descriptors
	are HISEG locations; bad code was being generated.  Fix allocation for
	temporaries.  ALCTEMP becomes ALCAVARS; ALCTMPS becomes ALCQVARS.
	Change LEXICA to build nHccc as a HOLLERITH constant and 'ccc' as a
	CHARACTER constant.  Fix OPENCLOSE to convert character constant args
	to HOLLERITH for now.  Cleanup remainder of code from edit 1232.
	Modules:
		ACT0(60)	ACT1(126)	DOALC(110)	FIRST(146)
		GLOBAL(111)	LEXICA(32)	LEXSUP(19)	LISTOU(72)
		OUTMOD(82)	P3R(51)		PH3G(255)	REQREL(1)
		STA1(83)	STA2(52)	TABLES(169)	VER5(7)

1246	CDM	3-Aug-81	---
	Edited SUBPROGLIST so that inline function names are not output to
	listings.
		MODULES:	OUTMOD(81)

1247	CKS	6-Aug-81
	Modify classifier to recognize substring assignments.  Add SUBASSIGN
	semantic routine to parse them and call MULTIASGN.
	Modules:
		LEXICA(33)	CODETA(6)	STA0(57)

1250	CKS	7-Aug-81
	Modify the semantic routines to support character arrays.  Have ARRXPN
	put in an explicit + node to add the constant part of the subscript
	expression in rather than put it in TARGET so an index calculation can
	add it at runtime.  Have ADJGEN call ADJC1. and ADJCG. instead of ADJ1.
	and ADJG.  Have BLDDIM generate a .I temp for ADJCx. to fill in with
	the first dimension multiplier.  Change PROAR. to PROTA. so it can be
	modified to support CHARACTER arrays.
	Modules:
		ACT1(125)	ARRXPN(54)	DOXPN(86)

1251	CKS	7-Aug-81
	Add code generation template for char array index calculation.
	Change IBP to ADJBP in instruction op table.
	Fix typeout of address as name+offset to handle highseg addresses
	Modules:
		CGEXPR(77)	OPGNTA(125)	OPTAB(3)	LISTOU(73)

1252	CDM	10-Aug-81
	Added inline generic functions with unique dotted names (which users
	can't accidentaly call).  Also  edited MAKLIBFN so that CMPLX for
	1 or 2 arguments works.
	Modules:
		GLOBAL(112)	CNRCFN(37)	TABLES(170)

1253	CKS	11-Aug-81
	Do register allocation for character arrayrefs.  Complexity is the same
	as numeric arrayrefs but don't ADDREGCANDIDATE the subscript.  Add
	ALCCHARRAY to do register allocation.  ALCCHARRAY knows that the
	index register will be clobbered by the ADJBP.  It also allocates a .Q
	temp to hold the descriptor resulting from the ADJBP.  Modify REA to
	not common-sub a scalar subscript of a character array.  Teach ARGGEN
	about the format of character array ref nodes.
	Modules:
		CGDO(148)	CMPLEX(138)	COMSUB(271)	REGAL2(150)

1254	CKS	15-Aug-81
	Make MULTIASGN convert char=char assignments to CALLs of CHASN. or
	CONCA.  Check that numeric and character data aren't assigned to each
	other (but allow numeric='char const').
	Modules:
		STA0(58)	ERROUT(60)	VLTPPR(52)

1255	TFV	17-Aug-81	------
	Fix LOGEXPRESSION and VLTPPR to handle character relationals.  Turn
	them into library calls to CH.xx (EQ, NE, GT, GE, LT, LE).  Fix
	expression processing to turn character constants into holleriths in
	numeric expressions and prohibit all other combinations of numeric
	and character data.
	Modules:
		EXPRES(44)	VLTPPR(53)

1256	CKS	8-Sep-81
	The concatenation lexeme breaks common statements of the form
		COMMON / / X
	where the // denotes blank common.  Modify the COMMONGROUP
	production to allow a concatenation lexeme as well as slash
	lexemes.  Modify COMMSTA to read the new tree format.
	Modules:
		LEFT72(24)	F72BNF(9)	STA2(53)

1257	TFV	10-Sep-81	------
	Fix LITOR6DIGIT to convert character constant args to hollerith.
	This fixes STOP/PAUSE 'foo'.
	Module:
		STA0(59)

1260	CKS	14-Sep-81
	Prohibit character expressions in ASSIGN, computed and assigned GOTO,
	and arithmetic, logical, and block IF statements.
	Modules:
		STA0(60)	STA3(66)

1261	CKS	22-Sep-81
	Allow character variables in COMMON and EQUIVALENCE.
	Modules:
		LISTOU(74)	OUTMOD(83)	STA3(67)

1262	CKS	22-Sep-81
	Allow character substrings in EQUIVALENCE.
	Modules:
		ERROUT(62)	ERROVR(6)	EXPRES(45)	F72BNF(10)
		FIRST(147)	OUTMOD(84)	STA3(70)

1263	TFV	22-Sep-81	-------
	Fix edit 1260 to allow the degenerate cases  IF('ccc') ....;
	GOTO  (100,200,300), 'ccc'.  These are certainly odd but legal
	in Version 6.
	Modules:
		STA0(61)	STA3(71)

1264	CDM	24-Sept
	Added NOP type conversion functions (ie REAL(REAL)) and added
	more functions to tables.
	Modules:
		EXPRES(46)	GLOBAL(113)	GNRCFN(38)	OUTMOD(85)
		P2S1(65)

1265	CKS	28-Sep-81
	Add code to support character args in IO statements
	Modules:
		CGSTMN(141)

1266	TFV	5-Oct-81	------
	Add code to copy 1 or 2 words of descriptor for character formal
	at subroutine entrance.  Don't copy it back on subroutine exit.
	Module:
		CGDO(149)	OPGNTA(126)

1267	AHM	6-Oct-81	------
	Define stub routines INQUSTA, SAVESTA and INTRSTA for the INQUIRE,
	SAVE and INTRINSIC statements so we don't get undefined symbols
	when linking.
	Modules:
		STA1(85)	STA2(54)	STA3(72)

1270	CDM	6-Oct-81
	Added error/warning messages E169, E170, and made call to inline
	type convert intrinsic function work for octal arguments /OPT.
	Modules:
		ERROUT(63)	EXPRES(47)	GLOBAL(116)	PNROPT(160)
		SRCA(54)	TABLES(171)

1271	CKS	9-Oct-81
	Add optional comma in DO statement
	Modules:
		F72BNF(11)	LEXICA(35)	STA3(73)

1272	RVM	15-Oct-81
	Convert REAL constants from DOUBLE PRECISION, even if the
	constant is part of a MOVEI.
	Modules:
		OUTMOD(88)

1273	CDM	15-Oct-81
	Do not change function into inline if it has octal arguments.
	(problem was with /OPT)
	Module:
		P2S1(66)

1274	TFV	16-Oct-81	------
	Rewrite NXTTMP to handle multiple word .Qnnnn variables.  Also
	rewrite ALCQVARS to output the .Qnnnn symbols to the .REL file
	and to reserve the right amount of space for the .Qnnnn variables.
	Modules:
		ALCBLO(64)	DOALC(111)	GLOBAL(117)	LISTOU(75)
		OUTMOD(89)	REGAL2(151)	REGUTL(22)	STREGA(227)

1275	CDM	20-Oct-81
	Simple add to MAKLIBFN to check for library functions with no
	arguments being illegal.
	Module:
		GNRCFN(42)

1276	DCE	21-Oct-81	-----
	Only materialize final loop value if /F77
	Module:
		CGDO(150)

1277	CKS	21-Oct-81
	Make GOTO I (10,20) parse as assigned GOTO with the optional comma
	before the statement number list omitted rather than as an assigned
	GOTO to a subscripted variable.
	Modules:
		F72BNF(12)	STA0(62)

1400	CKS	21-Oct-81
	Allow functions with null argument lists.
	Modules:
		EXPRES(48)	ACT1(129)	CGDO(151)

1401	AHM	22-Oct-81
	Functionality  for  base  level  1  of  extended   addressing.
	Reworked  the  argument  list  generators  ARGGEN  and  IOPTR.
	Modified all code patterns that derive addresses to use XMOVEI
	instead of MOVEI, especially subroutine calls, assigned  GOTO,
	subroutine prologue/epilogue  code and  array element  address
	generation.  Defined XMOVEI in the macro listing opcode  table
	and OPDEFed it for debugging the compiler until DDT gets it.
	Modules:
		CGDO(152)	CGSTMN(143)	GFOPDF(1)	OPGNTA(128)
		OPTAB(4)	TABLES(171)

1402	CKS	23-Oct-81
	Allow declaration statements to be labeled.  Do not allow such
	labels to be referenced.
	Modules:
		FIRST(148)	DRIVER(33)	LEXSUP(21)	STA3(74)

1403	AHM	26-Oct-81
	Add support for "$" in symbols to routine RADIX50.  Needed for
	extended addressing development.
	Module:
		RELBUF(32)

1404	AHM/TFV	26-Oct-81	------
	Fix ALCIOCALL to agree with ALCIOLST in that IOLIST elements which
	live in AC0 must be stored into a temp.
	Module:
		STREGA(228)

1405	DCE	27-Oct-81	-----
	Defer label processing when necessary (do not do it twice!)
	Module:
		DRIVER(34)

1406	TFV	27-Oct-81	------
	Add handling  for compile-time-constant  character  descriptors.
	They are  called  .Dnnnn  variables.  They  have  an  OPRCLS  of
	DATAOPR and  an  OPERSP  of VARIABLE.   Either  one  word  (byte
	pointer only)  or  two  words  (byte  pointer  and  length)  are
	generated based  on  the  flag  IDGENLENFLG.   One  word  .Dnnnn
	variables are used for SUBSTRINGs with constant lower bounds and
	non-constant upper bounds.  The routine NEWDVAR generates  them,
	and HSDDESC  outputs the  descriptor to  the hiseg  of the  .REL
	file. Also create the macro BPGEN to generate byte pointers that
	are output to the .REL file.
	Modules:
		FIRST(149)	GLOBAL(118)	LISTOU(76)	OUTMOD(90)
		P3R(52)		PH3G(256)	SRCA(55)	TABLES(174)
		UTIL(91)

1407	CKS	27-Oct-81
	Fix BLDIOLSCLS so character constants put out DATACALLS not SLISTS
	Modules:
		ACT1(130)

1410	CKS	28-Oct-81
	Support optional commas in COMMON and DATA.  The commas in
		COMMON A,/B/C
		DATA A/1/, B/1/
	are both optional.
	Modules:
		F72BNF(13)	ACT0(62)	ACT1(131)	STA1(86)

1411	RVM	31-Oct-81
	Edit 1272 caused the macro code listed for files compiled
	with GFLOATING to be bad, but only if there was no object
	file requested.  This occured because the compiler knew
	that ALCCON did not convert constants if there was to be no
	REL file, and so would convert the constants when producing
	the list file.  Edit 1272 caused constants to be converted
	twice, and thus equal zero.
	Modules:
		CGEXPR(78)

1412	CKS	4-Nov-81
	Allow statement functions and common blocks to have the same name
	Modules:
		ACT1(132)

1413	CDM	4-Nov-81
	Made changes to make the assignment of argument nodes use the
	ARGUMENTLIST structure, and enlarged the header in that structure
	to 3 words from 2.  Also in STREGA made code not reference undefined
	areas of nodes.
	Modules:
		ACT1(133)	DOXPN(87)	EXPRES(49)	STA0(63)
		STA3(75)	STREGA(230)	TABLES(173)

1414	RVM	6-Nov-81
	Make CNVNODE preserve the bit patterns for logical expressions
	compared to reals under gfloating.  This fixes an bug that caused
		IF (REAL .GT. LOGIC) STOP
	to be evaluated incorrectly, particulary under /OPT.
	Module:
		VLTPPR(54)

1415	RVM	9-Nov-81
	Preserve the bit pattern for logical constants that are propagated
	under GFLOATING.  This fixes the same type of problem as in edit
	1414 when the logical expression is a constant that has been
	propagated.
	Module:
		PNROPT(161)

1416	CKS	9-Nov-81
	Add character substring references in DATA statements.  Also
	allow subscript and substring expressions to contain **.
	Modules:
		ACT1(134)	ARRXPN(55)	DATAST(53)	F72BNF(14)
		ERROUT(65)

1417	RVM	10-Nov-81
	The wrong code template was used for conversion from LOGICAL to
	GFLOATING and from CONTROL to GFLOATING.  The template RLGF was
	used, and thus the compiler would generate code to convert REAL
	(9 bit exponent) to GFLOATING (12 bit exponent) and scramble
	bits.  The correct template is RLDP.
	Module:
		OPGNTA(129)

1420	RVM	11-Nov-81
	Fix EXPRTYPER to really change the type of character constants
	used with numeric expressions to HOLLERITH.   The assignment
	statements that were supposed to do this each had an extra dot
	in front of the variable being assigned.
	Module:
		VLTPPR(55)

1421	CKS	11-Nov-81
	Allow statement function definitions with zero parameters
	Modules:
		ACT0(63)	F72BNF(15)	STA3(76)

1422	TFV	12-Nov-81	------
	Change FUNCGEN and REFERENCE for character functions.  They have
	an extra argument  for the  result to  be returned.   It is  the
	first argument and has the  descriptor for the result copied  in
	at function entry.  The result  is stored back by the  character
	assignments in the  function body.  Character  functions do  not
	use AC0 and AC1, so ALCRETREGFLG is not set.   Change CGEPILOGUE
	so that character results are not moved into AC0.
	Modules:
		ACT1(135)	CGDO(153)	CMPLEX(140)	EXPRES(50)
		REGAL2(151)

1423	CKS	19-Nov-81
	Don't allow character functions to initialize the function name in
	a DATA statement.
	Modules:
		ACT1(136)	ERROUT(66)

1424	RVM	19-Nov-81
	Precede the formats in the object program by a count of the number
	of words in the format (in other words, make formats look like
	BLISS-10 PLIT's).  This is needed for assignable formats.
	Modules:
		OUTMOD(91)	LISTOU(77)

1425	CDM	28-Nov-81
	Add @ to refernce of variable from STK; @.T1[ELMNT1]
	Simplify REFERENCE in EXPRES so that it calls another function  MAKEFN
	to build function nodes.  This uses less stack space, since  REFERENCE
	is recursive, and the compiler was running out of space.
	Modules:
		STA3(77)	EXPRES(51)

1426	SRM	30-Nov-81
	Do not do operations to memory if there is a NEGFLG or  NOTFLG
	in the statement node.  (Fixes test program BB2502.FTP.)
	Module:
		MEMCMP(32)

1427	CKS	2-Dec-81
	Fix MAKESUBSTR to correctly set the default upper bound in A(I)(:).
	Modules:
		EXPRES(52)

1430	CKS	10-Dec-81
	Range check substring bounds in DATA statements and complain if they're
	out of range.
	Modules:
		COMMAN(115)	DATAST(54)	ERROUT(67)

1431	CKS	15-Dec-81
	Add substrings
	Modules:
		CGEXPR(79)	EXPRES(54)	P2S1(67)	TABLES(175)
		CMPLEX(141)	GLOBAL(119)	P2S2(61)	UTIL(92)
		COMSUB(272)	OPGNTA(130)	REGAL2(154)

1432	RVM	13-Dec-81
	Implement assigned formats.  In ACT1, allow integer variables
	to be values of the FMT= keyword in I/O statements, and fix
	wrong error messages given when an asterisk or a name is
	incorrectly given as the value of a keyword.  In CGSTMN, make
	IOFORMAT produce the proper type of FOROTS I/O argblock for
	assigned formats, and do away with the generation of format
	size words, except in the case of arrays used as formats.
	Modules:
		ACT1(137)	CGSTMN(144)

1433	RVM	14-Dec-81
	Rewrite LSTFORMAT to print as much format text per line as possible,
	instead of listing format text one word at a time.  Also, suppress
	listing nulls in format text.
	Module:
		LISTOU(78)

1434	TFV	14-Dec-81	------
	Finish up  edit  1422.  Fix  MAKEFN  in  EXPRES so  it  will  handle
	intrinsic character  functions (i.e.   the  CHAR function).   Add  a
	routine CHARGLIST to convert non-character function argument  blocks
	to character function argument blocks.  This fixes the cases where a
	function statement is followed by a character or implicit  character
	statement  that  changes  the   type  of  the  function.    Generate
	descriptors for character functions declared in external statements.
	The first word of the  descriptor has the IFIW  bit lit and has  the
	address of the function.  This will allow character functions to  be
	passed as arguments to subprograms.  (They must be declared external
	in each subprogram.)   Eventually they  will be called  via a  PUSHJ
	P,@descriptor.  Also fix multi-entry character functions.  The entry
	points must all be of type  character and must have the same  length
	declared for them.  Only  one descriptor is used  for all the  entry
	points.
	Modules:
		ACT0(64)	ACT1(138)	ERROUT(69)	EXPRES(53)
		GNRCFN(43)	LISTOU(79)	OUTMOD(92)	STA2(78)
		STA3(78)

1435	RVM	14-Dec-81
	CNTKEYS is now smart enough to handle namelists correctly, so do
	not subtract one from its count in REDORWRIT.
	Module:
		CGSTMN(145)

1436	SRM	16-Dec-81
	Add global flag CHARUSED and set it if see: //, ( : ), intrinsic
	function with character arg or value, character array element ref.
	Modules:
		GLOBAL(120)	EXPRES(55)	ARRXPN(56)	GNRCFN(44)

1437	CDM	16-Dec-81
	Changed various routines for argument rel block checking.  Added
	/DEBUG:PARAMETERS switch (again) to compiler.
	Modules:
		CGDO(154)	COMMAN(116)	DRIVER(35)
		GLOBAL(121)	IOFLG(17)	OUTMOD(93)

1440	SRM	16-Dec-81
	Fixed day-one bug in CONTFN. It did not have cases for
	OPRCLS's greater than SPECOP.
	Modules:
		UTIL(93)

1441	SRM	16-Dec-81
	Fixed a bug in IOLIST folding in the check for functions
	with possible side effects. It was folding lists like:
		A, F(X)
	and not folding:
		F(X), A
	It should be the reverse.
	Modules:
		SKSTMN(98)

1442	RVM	17-Dec-81
	Modify BLDFORMAT and KORFBLD to allow INTEGER variable format
	specifiers even without the FMT= keyword.
	Module:
		ACT1(139)

1443	RVM et al.   17-Dec-81
	ALLFORM never thought that there could be backwards references to
	format statements, and so never set up the SNSTATUS field.  With
	ASSIGNed FORMATs, there can be backwards references.
	Module:
		OUTMOD(93)

1444	CKS	18-Dec-81
	Allow substring refs in the IO lists of READ statements
	Modules:
		ACT1(140)

1445	SRM	20-Dec-81
	Increased stack size from 500  to 2100 to enable us to
	compile FM045.FOR in the validation tests.
	This allows us to support 58 levels of nested parens.
	( The 500 word stack supports 11 levels of nesting.
	Each 100 words of stack increases the level of nesting
	supported by about 3. )
	Modules:
		COMMAN(117)	GLOBAL(122)

1446	AHM	22-Dec-81
	Made MULTIASGN return the address of the created statement  node
	so that calling  routines that  punt on  negative return  values
	always get something positive when things went OK.  This bug was
	detected when  character assignment  statements in  logical  IFs
	returned 1B0  in  VREG causing  LOGICALIF  to not  link  the  IF
	statement into the statement list.  Also, MULTIASGN was  cleaned
	up slightly.
	Module:
		STA0(64)

1447	CDM/CKS	30-Dec-81
	In DOTOPROPAGATE, simple change:
	IF () AND () AND () THEN
	to
	IF () THEN  IF () THEN  IF () THEN
	so that the last clause is not evaluated unless the first two are
	true.  Was getting an illegal memory read for reading beyond what
	actually existed for a continue statement.
	Module:
		PNROPT(162)

1450	CKS	30-Dec-81
	Detect the error in EQUIVALENCE (A(1),A(2))
	Modules:
		OUTMOD(95)

1451	CKS	30-Dec-81
	Fix HSDDESC to handle character variables in COMMON
	Modules:
		OUTMOD(96)

1452	CKS	4-Jan-82
	Do not turn A(1:2) into a .D variable if A is a formal parameter.
	Modules:
		P2S1(68)

1453	CKS	14-May-81	(formerly 1070)
	In LEXSUP, replace @BACKLINE<LEFT> with .BACKLINE<LEFT>, only you
	have to say (.BACKLINE<LEFT>)<FULL> to get BLISS to generate correct
	code.
	Modules:
		LEXSUP(15)

1454	RVM	4-Jan-82
	Make assigned formats work  optimized.  Do not allocate  formats
	until after optimization is done.   The optimizer thinks it  can
	freely use label table entries for  its own use, but if  formats
	have already been allocated, useful  information is lost.  As  a
	cleanup, merge  the  routines  ALLFORM and  DMPFORMAT  into  one
	routine, called  DUMPFORMAT, which  both allocates  formats  and
	dumps them to the .REL file.
	Modules:
		OUTMOD(98)	PH3G(257)	P3R(53)

1455	TFV	5-Jan-82	------
	Add handling for  character statement functions.   They have  an
	extra argument.  It is the first  and is the descriptor for  the
	result.  The character statement function is turned into  either
	a call to CHSFN.  (the subroutine form of CHASN.)  or a call  to
	CHSFC.  (the subroutine form of CONCA.).  CHSFC.  is used if the
	character expression has concatenations at its top level, CHSFN.
	is used for all other character expressions.
	Modules:
		CGDO(155)	DOALC(112)	OUTMOD(99)	SKSTMN(155)
		STA0(79)	STA3(79)

1456	CKS	11-Jan-81
	Variables in input lists aren't flagged as being stored into, and
	get listed wrong in the CREF.  This is because EXPRESS now parses
	input lists and output lists both, and just calls NAMREF.  Make it
	call NAMSET instead for variables which occur at the top level in
	input lists.  Add IOINPT bit to recognize input statements.
	Modules:
		CODETA(7)	EXPRES(56)	IOFLG(18)

1457	RVM	12-Jan-82
	Fix BLDFORMAT to allow INTEGER variable format specifiers in
	ENCODE/DECODE statements (Edit 1442 did not quite accomplish
	this).  Also, fix a poor error message that implies that name
	lists are legal format specifiers in ENCODE/DECODE statements.
	Module:
		ACT1(141)

1460	SRM	18-Jan-82
	If character data is used, do not optimize.
	( This restriction will be removed later. )
	Modules:
		ERROUT(70)	MAIN(32)	COMMAN(118)	GLOBAL(123)

1461	CKS	20-Jan-82
	Add variable name to "Can't store numeric constant in character
	variable" error message.
	Modules:
		DATAST(55)	ERROUT(71)

1462	DCE	21-Jan-82	-----
	Fix F77 bug where reduction in strength can cause DO loop variables
	to not get assigned a final value.  Prevent test replacement in all
	cases if F77 selected.
	Modules:
		TSTR(62)

1463	CKS	22-Jan-82
	Modify FATLERR's sixbit printer to not output trailing spaces
	Modules:
		INOUT(53)

1464	RVM	26-Jan-82
	Implement the INTRINSIC statement and modify the EXTERNAL statement
	to conform the the FORTRAN 77 Standard when compiling /F77. For the
	INTRINSIC statement, add the needed BNF and the semantic routine.  For
	the EXTERNAL statement, fix the semantic routine to change an intrinsic
	routine declared in an EXTERNAL statement to a user routine under /F77.
	Also, modify the semantic routine to discover more than the first
	error on the line.  In ACT1, modify an error message that needs to
	know about the INTRINSIC statement.
	Modules:
		ACT1(142)	CODETA(8)	F72BNF(16)	STA3(80)

1465	CKS	1-Feb-82
	Modify the parsing of READ and WRITE statement keyword lists to
	support expressions as UNIT and FMT specifiers.  This involves
	adding a lexical state to check for "LETTERS=" so that we can
	tell whether to call EXPRESS to read a unit expression or whether
	to scan a keyword.
	Modules:
		ACT0(65)	ERROUT(72)	F72BNF(17)
		LEXICA(37)	STA0(66)

1466	CDM	1-Feb-82
	Changes for argument checking for user subprograms and statement
	functions.
	Modules:
		ACT1(143)	CGDO(156)	ERROUT(72)
		EXPRES(57)	FIRST(150)	GLOBAL(124)
		INOUT(54)	LISTNG(27)	REQREL(3)
		STA0(67)	STA3(81)

1467	CDM	1-Feb-82
	Added parsing for the SAVE statement.
	Modules:
		CODETA(9)	ERROUT(74)	F72BNF(18)
		FIRST(151)	IOFLG(19)	STA2(56)

1470	CKS	2-Feb-81
	Make EXPRESS quit reading an expression when it sees tic (') when
	looking for an operator.  A tic when looking for an operand is still
	the start of a character constant.  Make KEYSCAN handle
	READ (unit'record).
	Modules:
		ACT0(66)	EXPRES(58)	LEXNAM(3)	LEXSUP(22)

1471	RVM	5-Feb-82
	Implement compiler support for internal files.  In, OPGNTA, add code
	skeletons needed to call FOROTS for internal file I/O.  In STA0, add
	checks for such illegal uses of internal files as unformatted I/O to
	an internal file.  Also in STA0, store in the IORECORD field of any
	I/O statement that references an array as an internal file a pointer
	to an expression node that gives the number of characters in the array.
	In CGSTMN, generate the code for the calls to FOROTS to do the I/O,
	as well as the needed argument blocks.  In particular, the FOROTS
	arg OTSKEDSIZ now holds the total number of characters in an array
	used as an internal file.  In ERROUT, add an error message to be used
	to report problems with internal file I/O.  In ACT1, make the macro
	SIZOFARRAY into a GLOBAL ROUTINE.
	Modules:
		ACT1(144)	CGSTMN(146)	ERROUT(75)	OPGNTA(131)
		STA0(68)

1472	AHM	7-Feb-82
	Make REDORWRIT generate an OTSKREC keyword for all the  possible
	cases that the REC= variable was not a CHARACTER array.
	Module:
		CGSTMN(147)

1473	SRM	8-Feb-82
	Set CHARUSED in NAMREF and NAMSET when a character variable is used.
	Module:
		ACT1(145)

1474	TFV	8-Feb-82	------
	Add support for concatenations as character expressions.  Change
	REA in COMSUB to walk down the argument list for a concatenation
	looking for common sub  expressions.  Write P2SKCONC to  perform
	the skeleton optimization  for a concatenation.   Decide if  the
	concatenation is fixed  length and  change the  OPERSP field  to
	CONCTF.  Fold all concatenation subnodes into one  concatenation
	node.
	Modules:
		CGEXPR	CMPLEX	COMSUB	DOALC	ERROUT	OPGNTA	P2S1
		REGAL2	RELBUF	STREGA

1475	RVM	8-Feb-82
	Correct problem of an ALCUNIT inserting a STORECLASS node over a
	character array ref used as a unit expression.  Character  array
	references already are allocated into  a temporary, and thus  do
	not need a STROECLASS node.  The solution to the problem is  for
	ALCUNIT to  call ALCCHARRAY  instead of  ALCTVARR.  As  a  guard
	against further  trouble, give  an  internal compiler  error  if
	ALCTVARR  is  called  on  a  character  array  refernce.   As  a
	consequence of this edit, ALCCHARRAY becomes a global routine.
	Modules:
		REGAL2(155)	STREGA(231)

1476	RVM	8-Feb-82
	Change the name of INEXTSGN to USERFUNCTION.
	Modules:
		EXPRES(59)	FIRST(152)	STA3(82)

1477	CKS	10-Feb-81
	Detect error when real array used as UNIT specifier.
	Modules:
		STA0(69)

1500	SRM	11-Feb-82
	Issues the warning about /OPT ignored for character from
	MRP2S rather than from MAIN. ( If it were in MAIN, we would
	have to load the message in every overlay. )
	Modules:
		PH2S(32)	MAIN(33)	ERROVC(7)

1501	RVM	16-Feb-82
	Change the meanings of the INEXTERN and USERFUNCTION bits.
	INEXTERN is now lit for any routine name that appears in an
	INTRINSIC or EXTERNAL statement.  INEXTERN is the bit that
	should be tested to see if this routine name can be used as the
	argument to a routine.  USERFUNCTION means that this function is
	a user function or is an intrinsic function that has been made
	into an user function.  This definition makes these attributes
	less confusing, and corrects some lurking bugs where someone did
	not know to test both bits in order to tell if a routine name
	could be used as an argument.
	Modules:
		EXPRES(60)	FIRST(153)	STA3(83)

* All compiler edits after this point will no longer be assigned  local *
* edit numbers.  They  will use  the OCTAL  global edit  number in  the *
* BINDs of the local version number symbols at the module head instead. *

1502	AHM	11-Mar-82
	Make NAMGEN divide the size of  a character array by the  size
	of a  character array  element so  that the  size field  in  a
	NAMELIST block is in number  of array elements.  Also make  it
	not divide character  array factors by  anything so that  they
	are in units of bytes.  NAMGEN was dividing by 2 in both cases
	because DBLFLG was  set.  Finally, change  the array size  and
	offset fields to occupy separate  words of the NAMELIST  block
	for extended addressing.
	Module:
		CGSTMN

1503	AHM	11-Mar-82
	Cancel part of edit 1250 by making array bounds checking  call
	the routine PROAR. (again).   The name had  been PROTA. for  a
	while, but  different names  were  not necessary,  after  all.
	Change the format of dimension information blocks for extended
	addressing support.  Rejustify some routines in DEBUG.
	Modules:
		ARRXPN	DEBUG

1504	AHM	12-Mar-82
	Implement the /EXTEND  and /NOEXTEND switches  in the  command
	scanner  for  extended  addressing.   Define  the  field  name
	EXTENDFLAG and  boolean  macro  EXTENDED to  test  the  switch
	setting.  Display "/EXT" in the listing file header if /EXTEND
	is given.  Also declare a global called BIGARY which holds the
	size of the smallest array that goes into the .LARG. psect for
	/EXTEND.
	Modules:
		COMMAN	DRIVER	GLOBAL	IOFLG	LISTNG

1505	AHM	12-Mar-82
	Make all  symbol definitions  (entries into  the IDTAB  table)
	fill in the IDPSECT field for the psect of a symbol.
	Modules:
		ACT0	ACT1	ARRXPN	CGDO	CMPLEX	DEBUG	DOALC
		DOXPN	EXPRES	FIRST	GCMNSB	GNRCFN	LEXICA	STA0
		TSTR

1506	AHM	14-Mar-82
	Make DEBUG use ZOUTBLOCK to output line number labels, instead
	of using  its  own buffers.   Delete  call to  ENDISNRLBLK  in
	ZENDALL since ENDISNRLBLK went away.
	Modules:
		DEBUG	LISTOU

1507	AHM	14-Mar-82
	Remove  immediate   arguments  from   FOROTS  argument   block
	generation.  Call ALOCONST  in CMPIOLST, CMPIOCALL,  CMPE1LIST
	and CMPE2LIST,  CMPUNIT and  CMPDECENC during  the  complexity
	walk.  Delete IOIMMED and ELISTINCR and make all their callers
	use IOPTR instead.
	Modules:
		CGSTMN	CMPLEX	STREGA

1510	RVM	14-Mar-82
	Implement assumed-size arrays.  In F72BNF, allow an asterisk as
	an array bounds.  In TABLES, define the flag ASSUMESIZFLG to
	identify assumed-size arrays.  In ERROUT, add error messages for
	misuse of assumed-size arrays.  In ACT1, modify BLDDIM to build
	the dimension tables for assumed-size arrays, and to check for
	an attempt to use an assumed-size array in an I/O list.  In STA0,
	put check against the use of an assumed-size array as a format or
	unit specifier in an I/O statement.
	Modules:
		ACT1	ERROUT	F72BNF	STA0	TABLES

1511	CDM	17-Mar-82
	Additions for  SAVE statement  error  processing and  rel  block
	output.  Call in  PHA3 must  be uncommented to  call routine  to
	output the rel block.
	Modules:
		ACT1	ERROUT	GLOBAL	IOFLG	OUTMOD	PHA3
		RELBUF	REQREL	STA2	STA3

1512	AHM	22-Mar-82
	Add new subroutine for symbol output to the REL file.  It will
	output wither type 2 (RSYMBOL) or type 1070 (RLONGSYMBOL)  REL
	blocks depending on the setting of /EXTEND.
	Modules:
		DEBUG	LISTOU	OUTMOD	RELBUF	REQREL

1513	RVM	22-Mar-82
	Fix problems with forming the STE for the dotted name of a library
	function used as an argument to a subroutine.  REFERENCE in EXPRESS
	was not copying type information and other attributes to the dotted
	STE.  The routine MAKLIBFN also contains code to form dotted names,
	but unlike REFERENCE, MAKLIBFN does this correctly.  The solution
	is to take the code that makes dotted names out of MAKLIBFN, make
	that code into a global routine called MAKDOTTEDNAME, and to have
	MAKLIBFN and REFERENCE call MAKDOTTEDNAME.  Also in this edit,
	change the wording of an error message, set the global flag CHDECL
	if MAKDOTTEDNAME sees an intrinsic character function, and set
	INEXTERN for the dotted name if INEXTERN was set for the original
	undotted name.  (HSCHD is never called if CHDECL is false, and
	HSCHD depends on INEXTERN being set for character functions passed
	as arguments.)
	Modules:
		ERROUT	EXPRES	GNRCFN

1514	RVM	22-Mar-82
	Disallow formal arguments as INTRINSIC functions.
	Modules:
		ACT1	ASHELP	STA3

1515	RVM	23-Mar-82
	Make it illegal to declare a generic name intrinsic, if there
	is not a specific intrinsic function of the same name.  For
	example, INTRINSIC LOG is illegal, because there is no function
	named LOG.  But, INTRINSIC REAL is OK, because although REAL is
	a generic function, there is a function named REAL.
	Module:
		STA3

1516	CKS	23-Mar-82
	IOFORMAT was incorrectly assuming that it can only be called with
	scalars.  It can be called with arbitrary expressions.  Also, do
	complexity and register allocation for format expressions.
	Modules:
		CGSTMN	STREGA

1517	CKS	24-Mar-82
	Fix SUBASSIGN to check for end-of-statement after the RHS expression
	in substring assignments.
	Modules:
		STA0

1520	DCE	25-Mar-82
	Fix constant allocation in ELISTS so that (A(I),1234,I=1,10) does
	allocate the constant 1234 when optimized.
	Modules:
		CMPLEX

1521	CDM	26-Mar-82
	Added routines needed for argument checking.  Several calls to
	routines in MRP3 (PHA3) must be uncommented to output the rel blocks.
	Modules:
		PHA3	RELBUF	REQREL

1522	TFV	29-Mar-82
	Fix error  diagnostic  for  length star  variables  and  arrays.
	Length star is legal for dummy arguments.  Change  P2SKSUBSTRING
	to give the substring bound out  of range error for upper  bound
	less than lower bound,  and for lower bound  less than 1.   Also
	combine the two substring bound  errors into one error.   Remove
	E177 (cant concat error).
	Modules:
		ERROUT	ERROVC	ERROVD	ERROVG	ERROVR	OUTMOD	P2S1
		TABLES

1523	RVM	29-Mar-82
	Implement an extension which makes the EXTERNAL statement
	optional for a user function name when the program unit that
	tries to pass that user function name as an argument also calls
	the function directly.  This edit provides some degree of
	compatibility with other DEC compilers and the compilers of
	other vendors.  Making EXTERNAL optional is accomplished by
	setting the INEXTERN and USERFUNCTION bits in the STE of any
	user function when the function is passed as an argument.  Note
	that this edit does not make the INTRINSIC statement optional.
	We have always allowed a program unit to have a variable as the
	same name as a library function called in that program unit.
	Making INTRINSIC optional would break this.
	Module:
		EXPRESS

1524	RVM	31-Mar-82
	Don't turn on the indirect bit of an argument block entry for
	an argument of type dummy character function.
	Module:
		CGDO

1525	AHM	28-Apr-82
	Various changes for psected REL files.  Suppress generation of
	the type 3 HISEG block.  Generate type 24 psect header  blocks
	for each psect.  Put in a type 17 .REQUEST FORLIB:FORLIB block
	for development to read  in a private  FORLIB that is  psected
	instead of being TWOSEG.  Turn off  KS bit in the type 6  name
	block when compiling /EXTENDED.
	Modules:
		LISTOU	OUTMOD	RELBUF	REQREL

1526	AHM	28-Apr-82
	Pave the way for psected rel files by converting all calls  to
	ZOUTBLOCK for outputting  RCODE (type  1) rel  blocks to  call
	ZCODE instead.  Use the proper relocation counter to  allocate
	space for each  psect instead  of always using  HILOC to  tell
	ZOUTBLOCK what  address is  being output.   Start HILOC  at  0
	instead of 400000 (or larger for large lowsegs) and add 400000
	(from the global  HIORIGIN) to  any value  that addresses  the
	hiseg when the value is written out.  Add the SNPSECT field to
	hold the psect of label table entries.  Make LABDEF and GENLAB
	set the field and make DUMPSYMTAB and ROURLABEL use it.
	Modules:
		CGDO	FIRST	GLOBAL	LEXICA	LEXSUP	LISTOU
		OUTMOD	RELBUF	REQREL	SRCA	UNEND

1527	CKS	29-Apr-82
	Allow constant expressions as array bounds, string sizes, and
	parameter values.  Also add Fortran-77 parameter semantics,
	that is, convert the parameter value to match the type of the
	parameter variable.  Allow parameter statements before and after
	type declaration statements.
	Modules:
		ACT0	CODETA	LEXICA	SKSTMN	STA2
		ACT1	ERROUT	OUTMOD	STA1

1530	TFV	4-May-82
	Add fields  for CONCTV  processing.   They are  IOLSTATEMENT  in
	IOLSCLS nodes, IOLMARK and IOMARK  in I/O statments and  ARGMARK
	in argument  list  nodes.   IOLMARK,  IOMARK,  and  ARGMARK  are
	pointers to the  argument list  for CHMRK.   and CHUNW.   calls.
	IOLSTATEMENT points to the parent  I/O statement for an  IOLSCLS
	node.  Finally remove  GETCORE macro and  replace it in-line  in
	SKSTMN (the routine GETCORE in LISTNG does a CORE UUO).
	Modules:
		ACT1	FIRST	FORMAT	GLOBAL	INPT	IOPT	LEXICA
		SRCA	SKSTMN	TABLES

1531	CDM	4-May-82
	Changes for SAVE statement processing after code review.
	Modules:
		EXPRES	GLOBAL	RELBUF	STA0	STA2	STA3

1532	AHM	7-May-82
	Fix edit  1151  by making  PROCCOM  check whether  TCOMSIZ  is
	greater than 5*2**18 bytes for ? Program too long message.
	Module:
		OUTMOD

1533	TFV	13-May-82
	Modify register aloocation and code generation for CONCTV nodes.
	Add the routines FINDMARK and  GENMARK to allocate the  argument
	lists for CHMRK./CHUNW. calls.
	Modules:
		CGDO	CGEXPR	CGSTMN	OPGNTA	REGAL2

1534	CKS	17-May-82
	Fix output of character constants in the listing.  Use uparrow
	format instead of sending the control character directly.
	Modules:
		OUTMOD

1535	CDM	17-May-82
	Optimize CHAR(constant)  and  ICHAR(constant) to  be  constants.
	Enlarge OPERSP  field (and  other  related ones)  to be  5  bits
	instead of 3 bits wide.
	Modules:
		ACT0	P2S1	TABLES	UTIL

1536	CKS	19-May-82
	Allow DATA statements to be freely mixed with type specification
	statements and PARAMETER statements.
	Modules:
		CODETA

1537	AHM	20-May-82
	Prepend some innocuous entries to  the BPLH UPLIT so that  bad
	negative character addresses propagated  from users trying  to
	extend common blocks backward don't  get junk listings of  the
	byte pointers.
	Module:
		OUTMOD

1540	AHM	21-May-82
	Don't output  a  default  psect  index  block  before  calling
	BUFFOUT, since  it  will  flush the  main  rel  buffer  before
	flushing the local fixup rel buffer.  LINK is said to  destroy
	the current  default psect  index in  arbitrary ways,  so  the
	index should be set immediately before the local fixups.
	Module:
		RELBUF

1541	DCE	25-May-82	-----
	Add several new peephole optimizations for consecutive (identical)
	instructions of the MOVE class (MOVEI, MOVSI, MOVNI, MOVEM).
	Module:
		PEEPOP

1542	RVM	25-May-82
	Provide the FINAL SOLUTION to the problem of OCTAL, LOGICAL,
	HOLLERITH, and CONTROL expressions under gfloating.  The bit
	patterns for these values need to be preserved, but at the
	same time, these values must be able to participate in the
	compile-time constant propagation and folding.  The past
	approach of just not converting these values to internal
	REAL (GFLOATING) just didn't work: in obscure situations,
	bad code could be generated or bad results could come from
	constant folding.  The problem was that converting a value
	from REAL to GFLOATING and back to REAL did not produce the
	original bit pattern, since the hardware instructions to
	perform these operations normalized the number.  The final
	solution was to write new conversions in CNSTCM that do not
	normalize their results, and go back to allowing the compiler
	to freely convert values to be of the proper type.
	Modules:
		CNSTCM	DATAST	P2S1	PNROPT	VLTPPR

1543	RVM	25-May-82
	Under /GFLOATING, the conversion CMPL.G should be used to
	convert two DOUBLE PRECISION numbers to COMPLEX.
	Module:
		GNRCFN

1544	AHM	26-May-82
	Output type 22 default psect index blocks for the .DATA. psect
	before type 21 or 1004 sparse data blocks so that they have  a
	chance to work while  the new psected  sparse data blocks  are
	not in LINK.  This edit is only for V8 development and will be
	removed when the LINK support is finally in.
	Modules:
		OUTMOD	RELBUF

1545	CKS	28-May-82	Q10-00103
	Fix check for namelist IO in CGREAD and CGWRITE to not detect
	constants as namelists.  Character constants are now possible
	format specifiers.
	Modules:
		CGSTMN

1546	CKS	31-May-82
	Allow expressions in TYPE, ACCEPT, PRINT, PUNCH, and REREAD.
	Modules:
		ACT0	ERROUT	F72BNF	FAZ1	STA0	STA1

1547	AHM	1-Jun-82
	Round up size of  COMMON blocks from  characters to words  for
	the running total and give "?Program too large" message if the
	sum of HILOC, LOWLOC and the size of all COMMON blocks exceeds
	18 bits of address space.
	Modules:
		LISTOU	OUTMOD

1550	CKS	1-Jun-82
	Put in some SAVSPACEs to free space used by IO lists.
	Modules:
		ACT1

1551	AHM	3-Jun-82
	Add a new psect symbol called  PSOOPS with the value 0, add  1
	to the  values  of all  the  other PS????   symbols  and  make
	ZSYMBOL and  ZCODE  call CGERR  if  they see  a  reference  to
	PSOOPS.  Also, remove all statements that set the psect  index
	of an STE to PSCODE for external references so that the  psect
	index will not  be destroyed  if other symbols  with the  same
	name share the same STE.
	Modules:
		ARRXPN	CGEXPR	CMPLEX	DOXPN	EXPRES	FIRST
		GLOBAL	GNRCFN	LEXICA	RELBUF	STA0

1552	AHM	6-Jun-82
	Make NEWQTMP set the  IDPSECT and IDPSCHARS  fields of the  .Q
	temp being  created to  PSDATA  so that  we can  generate  the
	address of the .Q temp in HSDDESC in OUTMOD.
	Module:
		REGUTL

1553	CKS	7-Jun-82
	ALCSUBSTR can pick reg 0 to do subscript calculation for a substring
	node.  This results in ADJBP in register 0.  Fix it to not use reg 0.
	Modules:
		REGAL2

1554	CKS	8-Jun-82
	Add substring bounds checking.  Call PROSB. to check substring bounds
	if /DEBUG:BOUNDS.
	Modules:
		EXPRES	ARRXPN

1555	CKS	14-Jun-82	Q10-00111
	Check for FMT=* and FMT not specified before calling ALCINTMP to walk
	format expression.  ALCINTMP does not deal with *.
	Modules:
		STREGA

1556	CKS	14-Jun-82	Q10-00115
	Allow ENTRY statements anyplace in a program unit.
	Modules:
		CODETA

1557	CKS	14-Jun-82	Q10-00113
	If substring bounds are constant, check that upper bound is in range
	(unless variable is length *).  We already check lower bound.
	Module:
		P2S1

1560	TFV	15-Jun-82
	Modify BLDDIM to  give an  array too large  error for  character
	arrays  greater  than  or  equal  to  CHARSPERWORD  *  2  **  18
	characters and numeric arrays greater than  or equal to 2 **  18
	words.
	Module:
		ACT1

1561	CKS	16-Jun-82
	Allocation for character arrays is rather strange.  Fix it.  Only
	ALCINREG currently handles char arrayrefs; teach ALCINTMP, ALCTVARR,
	and ALCTARY.  Make ALCCHARRAY back into a local routine and remove the
	call in ALCARRAY; call it explicitly where needed.  Remove the (now
	unnecessary) check added by edit 1475 to call ALCCHARRAY directly from
	ALCUNIT.
	Modules:
		REGAL2	STREGA

1562	TFV	18-Jun-82
	Fix CGSBPRGM to check ARGMARK only if there is an argument list.
	Fix ROUSYM to handle TYPECNV nodes in argument lists.  These are
	inserted over .Qnnnn variables used as the result descriptor for
	concatenations.  They cause the VALTYPE for the .Qnnnn  variable
	to be CHARACTER.
	Modules:
		CGDO	LISTOU

1563	PLB	18-Jun-82
	Random TOPS-20 nativization tasks.
	-  Remove cutback CORE UUO from MRP1 (DRIVER.BLI)
	-  Convert ERR3 (SKERR/CGERR) to do PSOUT/PBOUT
	-  Convert OUTSTRs to use routine TTYSTR.
	-  Convert OUTTYx macros in LEXAID to use TTYSTR.
	-  Create TTYSTR & EXITUUO routines for TOPS-20.
	-  Remove REQUIRE of FTTENX from INOUT since LEXAID
	   does it now.

	Modules:
		DRIVER	ERR3	LEXAID	INOUT	UNEND	COMMAN

1564	AHM	21-Jun-82
	Remove  code  that  generated  .REQUEST  FORLIB:FORLIB  during
	development.   Make  /EXTENDED  output  /SYMSEG  and  /PVBLOCK
	switches to LINK and set psect origins to section 1 addresses.
	Modules:
		LISTOU	OUTMOD	REQREL

1565	PLB	21-Jun-82
	Use OUTTYX macro from LEXAID for TOPS-20 instead of OUTSTR.
	Modules:
		LEXICA

1566	CDM	24-Jun-82
	Do not output  named common  names to  writeable overlay  blocks
	when SAVE-d unless they are also declared in COMMON  statements.
	Also enable all 1045 blocks to be output.
	Modules:
		PHA3	RELBUF	STA2

1567	CDM	24-Jun-82
	Make CHAR, ICHAR, LEN inline  functions, and when possible  into
	constants.
	Modules:
		CGEXPR	CMPLEX	FIRST	GLOBAL	GNRCFN	LISTOU
		OPGNTA	OUTMOD	P2S1	REGAL2	TABLES

1570	AHM	25-Jun-82
	Change the entry in LONGTAB so that type 1070 additive  symbol
	fixups for extended  programs don't try  to relocate a  symbol
	name (though  since all  the calls  to ZSYMBOL  with  function
	GLBSYMFIX used PSABS anyhow) and perform 30 bit fixups instead
	of 18 bit fixups so that  numerics in COMMON don't lose  their
	section numbers.
	Module:
		RELBUF

1571	CKS	27-Jun-82
	Don't set parent pointers in a subexpression of OPEN node if
	it's READONLY since READONLY doesn't have an expression and
	AC 0 doesn't appreciate being a parent pointer.
	Modules:
		STA1

1572	AHM	29-Jun-82
	Move check for ?Program too large from ZENDALL to MRP3 so that
	the check is performed even if object code isn't generated.
	Modules:
		LISTOU	PHA3

1573	CKS	1-Jul-82
	Add DO WHILE and END DO.  Allow the statement number in stepped DO
	to be omitted.
	Modules:
		ACT0	CODETA	DRIVER	ERROUT	F72BNF	FIRST
		LEXICA	STA3	TABLES

1574	AHM	3-Jul-82
	Make REDORWRIT supply a type code of 7 (label) for the pointer
	to the namelist block in argument blocks for calls to NLI. and
	NLO.  It used to be a type 0 (immediate) argument.
	Module:
		CGSTMN

1575	TFV	7-Jul-82
	Fix type declarations  to allow 'variable  * length (subs)'  and
	'variable (subs) * length'.
	Modules:
		ACT0	ACT1	ERROUT	F72BNF	STA2

1576	AHM	7-Jul-82
	Make the compiler emit a JRST to the start address of programs
	under /EXTENDED and have ZENDALL make that the entry vector.
	Modules:
		LISTOU	PHA3

1577	RVM	9-Jul-82
	Set aside a bit in FLAGS2 to be used as the /ABORT flag.
	Module:
		IOFLG

1600	PLB	9-Jul-82
	Code for native TOPS-20 memory management.  Uses routine CORUUO.
	Modules:
		MAIN	LISTNG	DRIVER	SRCA	COMMAN

1601	CKS	12-Jul-82	Q10-00132
	Improve error message for the expression <character> / <character>.
	Instead of saying "illegal combination of character and numeric data",
	which is confusing since there is no numeric data involved, say
	"illegal operator for type character".
	Modules:
		VLTPPR	ERROUT

1602	RVM	14-Jul-82
	Implement native command scanner.
	Module:
		CMND20

1603	RVM	16-Jul-82
	Make .DEBUG preserve T2 so that a switch may follow /DEBUG.  Remove
	square brackets around the CCL "FORTRAN: etc." message.  Disable
	CONTROL/H recovery under batch, so that an error in a command
	will not effect the next command line (otherwise, the next command
	tries to hang, waiting for a CONTROL/H).
	Module:
		CMND20

1604	CKS	21-Jul-82
	Handle long IO lists by using COPYXLIST and MOVSTK instead of
	just COPYLIST in routine GIOLIST.
	Modules:
		EXPRES	FAZ1

1605	RVM	2-Aug-82
	The DIM function would underflow at compile-time for gfloating
	numbers, if the first number was less than the second.  The
	reason was that the DIM would only zero the high order word
	for this case, which is normally OK because the number has been
	rounded to the precision of a single precision number.  But, under
	/GFLOAT, the numbers have 3 bits of precision in the low order
	word.
	Module:
		CNSTCM

1606	RVM	3-Aug-82
	Reserve the SW.ABO flag in COMMAN.MAC so that COMMAN, IOFLG,
	and CMND20 all agree about which bits are taken.
	Module:
		COMMAN

1607	TFV	4-Aug-82
	Fix CGCHMRK to reuse one argument block for many IOLST. calls in
	a single statement.
	Module:
		CGEXPR

1610	CKS	5-Aug-82
	Relax statement ordering rules to allow NAMELIST statements
	anywhere following the IMPLCIT statements.  This is almost
	VAX compatible but not quite:  VAX allows NAMELIST to precede
	IMPLCIT and we do not.
	Modules:
		CODETA

1611	RVM	6-Aug-82
	Many command scanner changes to fix bugs, incorporate suggestions,
	and to add features.  Major changes:  Exit compiler after processing
	PRARG block.  Rewrite /RUN code.  Add /HELP.  Rename /OBJECT and
	/NOOBJECT to be /BINARY and /NOBINARY.  Improve error message maker.
	Add /DFLOATING.
	Module:
		CMND20

1612	PLB	13-Aug-82
	Clean up in trap code from edit 1600.
	Module:
		CMND20

1613	CDM	13-Aug-82
	Change /DEBUG:PARAMETERS to /DEBUG:ARGUMENTS.
	Modules:
		CGDO	CMND20	COMMAN	DRIVER	EXPRES	IOFLG
		LISTNG	RELBUF	STA0

1614	CDM	16-Aug-82
	Move the  output of  argchecking 1120  rel blocks  to after  the
	symbol table  output  so  that LINK  can  produce  better  error
	messages.
	Modules:
		LISTOU	PHA3

1615	AHM	18-Aug-82
	Change the  default psect  index to  .DATA. before  outputting
	common block  sizes  in  ALLCOM.   LINK  will  be  changed  to
	allocate common  blocks  in  the default  psect  when  reading
	psected .REL files.
	Module:
		OUTMOD

1616	CDM	24-Aug-82	Q10-00148
	IMPLICIT statements do  give subroutine  names a  type, and  for
	character, give an extra variable for the return value, which  a
	subroutine can't have.
	Module:
		STA3

1617	CKS	24-Aug-82
	Make the TOPS-10 command
		.FORTRAN FILE=FILE
	work when the appropriate pathological command is defined.  (Just
	add an AOBJN table to the .ISCAN call.)  When invoked this way, the
	compiler reads SWITCH.INI!  (Thanks to DPM for the idea.)
	Modules:
		COMMAN

1620	CKS	24-Aug-82	Q10-00143
	Improve some error messages.  For each numeric operand of //, say
		?Numeric operand of concatenation operator
	and for a mixed-mode assignment between numeric and character data,
		?Illegal assignment between character and numeric data.
	This makes a little more sense of the flurry of messages you get with
	missing declarations.
	Modules:
		EXPRES	VLTPPR	ERROUT

1621	CKS	24-Aug-82	Q10-00145
	Edit 1556 to allow ENTRY statements anywhere had the unexpected side
	effect that labels on ENTRY statements were marked as being on FORMAT
	statements.  This is because LABDEF trickily checks the statement order
	code to recognize FORMAT statements.  Fix: use two distinct order codes
	(with identical rows in the transition matrix) for ENTRY and FORMAT.
	Modules:
		CODETA

1621	RVM	25-Aug-82
	Add the /DFLOATING switch to the TOPS-10 command scanner.  Reorder
	switch table so that it is in alphabetical order.  Give an error
	message if the user specifies /GFLOAT.
	Module:
		COMMAN

1622	CKS	25-Aug-82
	Handle IOSTAT=arrayref and ASSOCIATEVARIABLE=arrayref correctly.
	Modules:
		STA1	CGSTMN

1623	RVM	26-Aug-82
	TOPS-20 command scanner: Do a CLZFF% before each command read
	from the primary input stream in order close all files and
	release all JFNs.  This fixes the problem of unreleased JFNs
	when a command or compile is aborted due to a catastrophic
	error.  A consequence of this edit is that the compiler cannot
	keep a JFN on SWITCH.INI across compiles.
	Module:
		CMND20

1624	AHM	28-Aug-82
	Don't call ZSAVEOUT in MRP3 if /EXTEND was specified, since we
	don't support overlays for  extended addressing and  variables
	are always preserved when not using overlays.
	Module:
		PHA3

1625	RVM	30-Aug-82
	Don't output a format size keyword was for list-directed I/O.
	Module:
		CGSTMNT

1626	CKS	31-Aug-82
	Fix Phase-2 optimization of expressions in ENCODE/DECODE statements.
	Module:
		SKSTMN

1627	CKS	31-Aug-82	Q20-03014
	Don't allocate .D variable to hold the function return value for
	CHAR(constant) in PARAMETER statements.

1630	AHM	1-Sep-82
	Fix bug introduced by edit 1615.  Don't output a default psect
	index if there is no .REL file being generated.
	Module:
		OUTMOD

1631	RVM	1-Sep-82	Q20-03013
	If the PRARG block overflows, the EXEC writes out TMP files to
	disk.  The TOPS-20 command scanner didn't look on disk for its
	arguments if it found a null PRARG block.
	Module:
		CMND20

1632	RVM	1-Sep-82
	The TOPS-20 compiler does not reclaim its data area after a
	compile.  The locations .JBFF and .JBREL were only being set
	once when the compiler started, rather than after each compile.
	Module:
		CMND20

1633	TFV	1-Sep-82
	Improve /STATISTICS to  print number of  source lines and  lines
	per minute  and also  executable statements  and statements  per
	minute.
	Module:
		GLOBAL	LEXICA	MAIN	PH2S	PHA2	UNEND

1634	CKS	3-Sep-82	Q20-03016
	Add missing dot.
	Modules:
		FAZ1

1635	CDM	24-Sept-82	V6 Q20-01670
	Fix to olde V6 QAR which had problems with labels being trashed.
	Module:
		PEEPOP

1636	RVM	28-Sep-82
	Make /EXTEND and /NOEXTEND invisible, as they are not supported
	aspects of the FORTRAN product.
	Module:
		CMND20

1637	CKS	29-Sep-82	Q10-00161
	Don't give repeated overflow warnings when an overflowed result
	(represented as double precision 377777777777 377777777777) is
	rounded to single precision.
	Modules:
		CNSTCM

1640	RVM	7-Oct-82	Q10-00144
	Fix bug that caused the ISN of the line being compiled to be off
	when the line is the last line of an INCLUDE file or the "main"
	input file.  The last line in a file is marked with EOF, rather
	than EOS.  This prevented the lexical action ACMLEXFOS from setting
	the line number correctly, since ACMLEXFOS only reset the line
	number if the line ended with EOS.  This error caused error messages
	to contain the wrong line number and to appear late in the listing.
	Module:
		LEXICA

1641	AHM	10-Oct-82
	When P2SKCONCAT  sees  the expression  A//(B//C)//D,  it  will
	change it into  A//B//C//D.  Make  it also  change the  parent
	pointers for B and C to point  to the new concat node if  they
	have parent pointers.
	Module:
		P2S1

1642	CDM	11-Oct-82
	Make character  array  refs work  for  encode/decode  variables.
	ALCCHA wasn't being  called, so  call ALCINREG  to decide  which
	array allocation routine to call.
	Module:
		STREGA

1643	RVM	11-Oct-82
	If the EXEC's arguments to the compiler do not exist in a PRARG
	block or on disk, then do not complain, just accept commands from
	the terminal.  Also, add the ;T(emporary) attribute to the filespec
	for the disk file which holds the EXEC arguments.
	Module:
		CMND20

1644	CDM	13-Oct-82
	Simple patch to allow the below to generate correct code:
		OPEN( ... FILESIZE=<logical variable> ...)
	A "no-convert" type convert node where the answer is put into  a
	temporary had its TARGADDR set incorrectly in ALCTPCNV.
	Module:
		REGAL2

1645	RVM	15-Oct-82
	Add the /NOECHO switch to the TOPS-20 command scanner, and change
	a nested /TAKE which does not specify /ECHO or /NOECHO to use the
	current value of the echo flag.
	Module:
		CMND20

1646	TFV	18-Oct-82
	Fix ASTER to give  an error for character  lengths less than  or
	equal to 0.  Fix  BLDMSG to output  negative decimal numbers  in
	error messages.
	Modules:
		INOUT	STA2

1647	CDM	18-Oct-82	Q20-06005
	Add MAP statement to ENDDSTA so that proper structure references
	are made.
	Module:
		STA3

1650	CDM	18-Oct-82
	Copyright for  memory  image.   Global  variable  COPYRIght  now
	contains the up-to-date copyright for the compiler in ASCII.
	Module:
		MAIN

1651	CKS	18-Oct-82
	Fix omitted upper substring bound C(I:) to handle the case where
	C is length *.  Compile it as C(I:LEN(C)).	
	Modules:
		EXPRES	GLOBAL

1652	CDM	20-Oct-82	V6 SPR 10-33050
	Give warning for RETURN statement in main program.
	Modules:
		CMND20	COMMAN	ERROUT	STA0

1653	CDM	21-Oct-82
	Make INITLZ check for /NOERROR before typing out queued up
	error messages to TTY.
	Module:
		LEXICA

1654	SRM	21-Oct-82
	Increased stack size from 2100 to 2200 to enable us to
	compile FM045.FOR in the validation tests.  This allows us
	to support 58 levels of nested parens.  (The native -20
	command scanner uses 11 more words of stack than the old
	one did.  These 11 words made the difference in preventing
	us from compiling FM045.  See edit 1445.)
	Modules:
		COMMAN	CMND20	GLOBAL

1655	CDM	25-Oct-82
	Allow character inline functions (CHAR) for concatenation
	arguments in P2SKCO.
	Module:
		P2S1

1656	CKS	25-Oct-82	Q10-03012
	Parameters can't be used to define other parameters in the same
	statement.  Cure: write an action routine PARMASSIGN to read the
	parameter expression and define the parameter variable.  This
	leaves the statement semantic routine with nothing to do.  Also
	only give a warning message for parameter statements without
	parens if the type of the variable and the expression differ.	
	Modules:
		ACT0	COMMAN	CMND20	ERROUT	F72BNF	STA2

1657	RVM	27-Oct-82
	Improve the "Error occured while processing ..." message from
	the TOPS-20 command scanner.
	Module:
		COMND20

1660	TFV	1-Nov-82
	Change E180 (CFL) to be 'Reference to character function  <name>
	must have a fixed length'.  It was 'References ...'.
	Module:
		ERROUT

1661	CKS	2-Nov-82
	Call NAMSET for assignments to scalar substrings.
	Modules:
		STA0

1662	TFV	2-Nov-82
	Fix INQUSTA to give the  error Exxx (NYI) 'INQUIRE statement  is
	not yet implemented.'
	Modules:
		ERROUT	STA1

1663	SRM	5-Nov-82
	Fix bug in allocation for implied DO loops that have been
	folded into SLISTs by /OPT. The assignment statement to store
	the final value of the loop was erroneously using ACs that
	were in use to hold items preceding the loop in the IO list.
	Modules:
		STREGA

1664	CKS	8-Nov-82	Q20-06026
	Common subexpressions of substring nodes which are allocated to
	live in registers can be clobbered by ADJBPs.  The problem is
	caused by ALCSUBSTR using the wrong variable to check for this
	case -- change an RLEN to RBP.
	Modules:
		REGAL2

1665	CKS	8-Nov-82	Q20-06028
	Allow computed GOTO as the last statement in a DO.
	Modules:
		CODETA	STA0

1666	TFV	8-Nov-82
	Fix RELINIT to always use FORTRAN  for the compiler id.  The  id
	for GFLOATING FORTRAN is no  longer used.  Type coercion is  now
	used for DP actuals passed to GFLOATING formals and vice  versa.
	Module:
		OUTMOD

1667	TFV	9-Nov-82
	Fix ASTER to give a better  found when expecting error for  type
	declarations.
	Module:
		STA2

1670	CKS	10-Nov-82
	Allow arbitrary expressions (not just constant expressions) as bounds
	for adjustably dimensioned arrays.  
	Modules:
		ACT0	ACT1	DOXPN

1671	RVM	11-Nov-82
	The TOPS-20 command scanner had problems when the compiler was
	reSTARTed because the COMND% JSYS state block was not being
	reset.
	Module:
		CMND20

1672	RVM	11-Nov-82
	The TOPS-20 command scanner complained overmuch if the user's
	SWITCH.INI file was offline.  The scanner no longer complains
	if the switch file is offline.  I/O errors while reading the
	switch file now produce warning instead of error messages,
	and the warnings are now followed by a message stating that
	the problem occurred while reading the switch file.
	Module:
		CMND20

1673	RVM	11-Nov-82
	Make the error message about nesting /TAKE commands too deep
	a warning message and recover from the error by just ignoring
	the errant command and continuing to process the nested /TAKEs
	already in process.  This has the nice property that the user
	can recover by issuing the ignored /TAKE command when prompted
	again by the compiler.
	Module:
		CMND20

1674	CDM	11-Nov-82	QAR 10-03021
	Fix  argchecking  further  so   that  constant  and   expression
	arguments get  flagged  as  no-update,  and  character  function
	return values are implicit (not checked).
	Modules:
		RELBUF	REQREL

1675	RVM	11-Nov-82	Q10-03032
	Implement a suggestion to include more information in the
	warning message E168.
	Modules:
		ERROUT	ERROVR	OUTMOD

1676	CKS	18-Nov-82	Q20-06053
	Allow OPEN specifiers to be hollerith strings.
	Modules:
		STA1

1677	CKS	20-Nov-82	Q20-06039
	Modify the parsing of ENCODE, DECODE, FIND, and REWIND and friends
	to use the KEYSCAN action routine to read keyword lists.
	Modules:
		F72BNF	CODETA	ACT0	STA0	STA1

	CDM	20-Nov-82	Q20-06044
	Check that an argument list really exists before lighting the
	ARGCHBLOCK bit saying arg checking is necessary.
	Module:
		STA0
	
1700	CKS	23-Nov-82	Q10-03039
	Fix register allocation for UNIT, FMT, and other character-valued
	I/O specifiers.  These used to be integer only, so ALCINTMP was called
	in single mode.  Call it in pair mode if DBLFLG is set.
	Modules:
		STREGA

1701	RVM	13-Dec-82	Q20-06057
	Remove the abbreviation for the /NOOBEJCT switch since
	that swich will disappear as soon as the EXEC no longer
	needs it.
	Module:
		CMND20

1702	CKS	13-Dec-82
	Improve error message when turkey incorrectly uses FMT= keyword
	to specify format in ENCODE/DECODE.

1703	CDM	17-Dec-82
	Do not output any processor type to rel file.  V5A only puts out
	KI, and V7 will not work on a KI, so if we tell Link the  truth,
	users with libraries will get Link-time warnings.
	
1704	TFV	21-Dec-82
	Fix type declarations to allow optional comma after the optional
	*size specifier.   The comma  is only  allowed if  the *size  is
	specified.
	Module:
		STA2

1705	PLB	22-Dec-82
	Fix TWOSEG in ERR3, (TOPS-10), Correct BLT in CMND20.
	Modules:
		ERR3	CMND20

1706	TFV	22-Dec-82
	Fix  P2SKSUBSTRING  for   substring  assignments  to   character
	function values.
	Module:
		P2S1

1707	CKS	4-Jan-83	Q10-03056,03058,03059,03060
	Fix exponentiation routines that do constant folding.  They were not
	coded to handle negative exponents or exponents more than 18 bits long,
	and did not properly handle exceptions.  Import DEXP2 and GEXP2 from
	Forlib to do real exponentiations; import some code from EXP1 to do
	integer.
	Modules:
		CNSTCM

1710	CDM	6-Jan-83
	Update internal compiler copyright notice to 1983.
	Module:
		MAIN

1711	RVM	7-Jan-83
	Make /O mean /OPTIMIZE, just as advertised.  Also, have
	the compiler to exit if the primary input designator is
	invalid (this lets the compiler run as a background fork).
	Module:
		CMND20

1712	AHM	7-Jan-83
	Set the psect  index for labels  on declaration statements  to
	PSCODE in  LABDEF so  that we  don't ICE  from a  PSOOPS  when
	dumping  the  labels  (SUBROUTINE  and  friends  can  actually
	produce code that gets labeled).
	Module:
		LEXSUP

1713	CKS	11-Jan-83
	Remove V6 routines not used in V7 since edits 1465, 1546, and 1677.
	Deleted routines are RECORDMARK, BLDFORMAT, BLDUNIT, BLDKEY, BLDKLIST,
	KORFBLD, BLDKORU, BLDIO1, and ZIOSTK.
	Modules:
		ACT0	ACT1	STA1

1714	CKS	11-Jan-83	Q10-03063
	Copy ARRAYREF nodes properly in COPYEXPR.
	Modules:
		ARRXPN

1715	RVM	12-Jan-83	Q20-06105
	The compiler did not realize that character variables were
	stored into when they were used	as internal files by WRITE
	statements.  To remedy this, set the STORD attribute when
	doing the semantic checks on internal file specifiers used
	in WRITE statements.
	Modules:
		STA0	ACT1

1716	TFV	17-Jan-83	Q20-06103
	Fix OPENCLOSE.  FLGREG is trashed if UNIT is not specified.
	Module:
		STA1

***** End Revision History *****

\

	PAGE
	SUBTTL	VERSION NUMBER

LASTED==0	;LAST EDITOR
MAJVER==7	;MAJOR VERSION NUMBER
MINVER==0	;MINOR VERSION NUMBER
EDNUM==1716	;EDIT NUMBER

JOBVER=137

	LOC	JOBVER
	EXP	<LASTED>B2+<MAJVER>B11+<MINVER>B17+<EDNUM>

	END