Trailing-Edge
-
PDP-10 Archives
-
BB-4157E-BM
-
fortran-compiler/revhst.mac
There are 24 other files named revhst.mac in the archive. Click here to see a list.
TITLE REVHST 6(1144) Revision History for the FORTRAN compiler
SUBTTL Authors: DCE/TFV/EGM/SRM/EDS/CKS/AHM/JLC/RVM 13-Nov-81
;Previous Authors (before V6):
; DONALD LEWINE/DAL/FI/HPW/DBT/NEA/MD/JNT/DCE/SJW/JNG/RDH/TFV/EGM
;COPYRIGHT (C) 1981 BY
;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
;
;
;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 (Removed).
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. (AHM)
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)
***** End Revision History *****
\
PAGE
SUBTTL VERSION NUMBER
LASTED==0 ;LAST EDITOR
MAJVER==6 ;MAJOR VERSION NUMBER
MINVER==0 ;MINOR VERSION NUMBER
EDNUM==1144 ;EDIT NUMBER
JOBVER=137
LOC JOBVER
EXP <LASTED>B2+<MAJVER>B11+<MINVER>B17+<EDNUM>
END