BEWARE FILE FOR BLISS-10 V7E Revision: 0 Date: April 1978 COPYRIGHT (C) 1976,1977 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. BEWARE FILE FOR BLISS-10 V7E Page 2 TABLE OF CONTENTS This file contains the following information: 1.0 Licensing provisions 2.0 General Information 3.0 List of files included in BLISS-10 V7E 4.0 Installation instructions 5.0 Recommended patches and known deficiencies 6.0 General warnings 7.0 New features, differences observable to the user and operator 8.0 Results of testing BEWARE FILE FOR BLISS-10 V7E Page 3 1.0 LICENSING PROVISIONS The software described herein including, but not limited to, the functions, program portions and program modifications are the proprietary information of Digital Equipment Corporation. This software is furnished only to licensed customers for use on a designated DECSYSTEM-20 computer system. Digital hereby places recipient on notice that the software described herein is governed by the license agreement executed by recipient for the operating system. Permitting this software to be copied for any use other than for usage on the designated DECSYSTEM-20 computer system is a serious violation of the licensing agreement. Unauthorized use of this software could have serious legal consequences. 2.0 GENERAL INFORMATION Version V7E of the BLISS-10 compiler is a maintenance release in that it contains many patches to fix known bugs. It also contains new functionality which could affect some current programs. BLIS10 V7E will build field-image APL (version 1A) and field-image FORTRAN (version 5A) with edit 623 installed. BLIS10 V7E will not build field-image BASIC-PLUS-2/20 (version 1A) or its associated RMS. These products suffer from the functional modifications outlined in section 6.0 below. This document contains information on installation procedures and known bugs and deficiencies. 3.0 LIST OF FILES INCLUDED IN BLISS-10 7E See BLIS20.LOG for a complete list of all of the files included in the version V7E release of the BLISS-10 package. 4.0 INSTALLATION INSTRUCTIONS Install BLIS10.EXE, BLIS10.ERR and SIX12.REL on . Put BLIS10.HLP on HLP: and BLIS10.DOC on DOC:. BEWARE FILE FOR BLISS-10 V7E Page 4 5.0 RECOMMENDED PATCHES AND KNOWN DEFICIENCIES See BLS7E.DOC for a list of known bugs and deficiencies. Appended to this .BWR file is FORTRAN PCO #271 which is edit 623. This edit must be installed in FORTRAN V5A before it can be built by BLIS10 V7E. 6.0 GENERAL WARNINGS The control file BLIS20.CTL which builds BLISS-10 creates the .DOC file for BLIS10 under the name BLIS10.DOC. That file is on the release tape as BLS7E.DOC. The .REL files for the BLISS-10 compiler produced by BLIS10 7B(222) have a creation date in 1966. This is caused by a DATE75 problem between the DECsystem-10 BLISS-10 compiler and the DECSYSTEM-20 compatibility package. The contents of these .REL files are correct and have been tested. Two modifications to the way BLIS10 parses MACRO definitions could adversely affect existing programs: 1. As outlined in BLS7E.DOC, a macro whose last lexeme begins with a ? must not end with the $ which ends the macro. MACRO A = ?..X$; must be written as MACRO A = ?..X $; 2. A macro formal in a lexeme beginning with $, will not be recognized so concatenation will not be performed. Example: MACRO A(X) = ?..X $; A(N); will expand into "?..X", not "?..N". To circumvent this, define MACRO IDENT (B) = B $; MACRO A(X) = IDENT(?..)X $; BEWARE FILE FOR BLISS-10 V7E Page 5 7.0 NEW FEATURES, DIFFERENCES OBSERVABLE TO THE USER The new features and enhancements in version V7E of the BLISS-10 compiler are documented in BLS7E.DOC. 8.0 RESULTS OF TESTING BLIS10 V7E has been tested in-house at our Marlboro facility, used to build our BLISS-based products and exercised by in-house BLISS users. All that we guarentee is that BLIS10 V7E will build field-image FORTRAN V5A (with edit 623) and field-image APL V1A. [End of BLS7E.BWR] Digital Equipment Corporation 14-MAR-78 Page 1 PCO Log Report ********************* *PCO #:10-F10 -271* ********************* [Program Data] System: F10 Component:F10 [Validity] 5(515), TESTED IN 5A(622) [Date Entered] 10-OCT-77 [Programmer] STAN WHITLOCK [Routines] MOVA QUALIF [Key Words] LOOPING BLIS10 >7B(222) [Source Before Edit] %5A (000622) [Source After Edit] %5A (000623) [Test File Data] : [ ] [Miscellaneous] DOC changes: N SER/SPR Number:10-NONE Critical: N ************************************************************************ [Notes] Digital Equipment Corporation 14-MAR-78 Page 2 PCO Log Report [PCO Write-up] ********** [SYMPTOM] The compiler loops in FORTD in ONLIST looking at a doubly nested implied DO used to READ a double subscripted array. This ONLY happens with a compiler built with a BLIS10 NEWER than 7B(222). ********** [DIAGNOSIS] ONLIST is called by QUALIFY to see if a variable is on the DOCHNGL. Unfortunately there is no extended optimizer block and therefore no DOCHNGL to search in the DO node of an implied DO. The SRCOPT field which would point to the optimizer block is 0. It seems that the register allocation in all BLIS10s from 7B(222) BACK generates a sequence of instructions that calls ONLIST with a zero list pointer so that it exits immediately. BLIS10 7C(224) generates different register usage and passes ONLIST garbage which it dutifully chases infinitely. This occurs during statement optimizations (in LABLAD) and not global optimizations so the IMPLDO flag is not set. ********** [CURE] Modify QUALIFY to call ONLIST (searching the DOCHNGL) only if SRCOPT is non-zero which means that we are NOT in an iolist. Digital Equipment Corporation 14-MAR-78 Page 3 PCO Log Report [FILCOM] File 1) LIB:COMMAN.MAC[31,4650] created: 1400 07-OCT-1977 File 2) DSKC:COMMAN.MAC[31,4577] created: 1121 10-OCT-1977 1)1 TITLE FTNCMD %5B(622) COMMAND SCANNER INTERFACE FOR FORTRAN C OMPILER 1) SUBTTL DONALD LEWINE/DAL/FI/HPW/DBT/NEA/MD/JNT/DCE/SJW/JNG 7-OC T-77 1) ;COPYRIGHT (C) 1972,1977 BY **** 2)1 TITLE FTNCMD %5B(623) COMMAND SCANNER INTERFACE FOR FORTRAN C OMPILER 2) SUBTTL DONALD LEWINE/DAL/FI/HPW/DBT/NEA/MD/JNT/DCE/SJW/JNG 10-O CT-77 2) ;COPYRIGHT (C) 1972,1977 BY ************** 1) ;END REVISION HISTORY **** 2) ;623 MOVA(27) ----- FIX QUALIFY TO CALL ONLIST ONLY IF THE 2) ; DOCHNGL EXISTS (IE, WE'RE NOT IN AN 2) ; IOLIST: THIS IS NECESSARY TO U SE A 2) ; BLIS10 NEWER THAN 7B(222) 2) ;END REVISION HISTORY ************** 1) EDNUM==622 ;EDIT NUMBER 1) JOBVER=137 **** 2) EDNUM==623 ;EDIT NUMBER 2) JOBVER=137 ************** Digital Equipment Corporation 14-MAR-78 Page 4 PCO Log Report [FILCOM] File 1) FTN:MOVA.BLI[31,4735] created: 1734 04-OCT-1977 File 2) DSKC:MOVA.BLI[31,4577] created: 1102 10-OCT-1977 1)1 GLOBAL BIND MOVAV= 5^24 + 0^18 + 26; !VERSION DATE: 22-SEP-76 1) %( **** 2)1 GLOBAL BIND MOVAV= 5^24 + 2^18 + 27; !VERSION DATE: 10-OCT-77 2) %( ************** 1)1 )% **** 2)1 ********** BEGIN VERSION 5B ********** 2) 27 623 ----- FIX QUALIFY TO CALL ONLIST ONLY IF THE D OCHNGL 2) EXISTS (IE, WE'RE NOT IN AN IOLIST): THIS IS 2) NECESSARY TO USE A BLIS10 NEWER THAN 7 B(222) 2) )% ************** 1)1 NOT ONLIST(.TOP[DOCHNGL],.TREEPTR[ARG1PTR]) 1) AND **** 2)1 !**[623] QUALIFY @3642 SJW 10-OCT-77 2) %[623]% (IF .TOP [SRCOPT] EQL 0 ! NO OPT BLOCK I F IN 2) %[623]% THEN 1 ! AN IOLIST (I MPLIED DO) 2) %[623]% ELSE NOT ONLIST (.TOP [DOCHNGL],.TREEPTR [ARG1 PTR])) 2) AND ************** 1)1 NOT ONLIST(.TOP[DOCHNGL], .TREEPTR[ARG2PTR]) 1) AND **** 2)1 !**[623] QUALIFY @3652 SJW 10-OCT-77 2) %[623]% (IF .TOP [SRCOPT] EQL 0 ! NO OPT BLOCK I F IN 2) %[623]% THEN 1 ! AN IOLIST (I MPLIED DO) 2) %[623]% ELSE NOT ONLIST (.TOP [DOCHNGL],.TREEPTR [ARG2 PTR])) 2) AND ************** [End PCO Write-up]