Google
 

Trailing-Edge - PDP-10 Archives - AP-D480B-SB_1978 - ftn5a.bwr
There is 1 other file named ftn5a.bwr in the archive. Click here to see a list.


                           BEWARE FILE FOR

                            FORTRAN-10 V5A





                             Revision:  0

                         Date:  October 1977






















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 FORTRAN-10 V5A                                  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 FORTRAN V5A


     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 FORTRAN-10 V5A                                  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-10 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-10 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 V5A of the Fortran compiler is a maintenance release  in  that
it  contains  many  patches  to  fix  known  bugs  but contains no new
development code.  This document contains information on  installation
procedures and known bugs and deficiencies.



3.0  LIST OF FILES INCLUDED IN FORTRAN V5A


See FTN5A1.DIR for a complete list of all of the files included in the
version V5A release of the Fortran package.



4.0  INSTALLATION INSTRUCTIONS


Installation instructions for the Fortran  package  are  contained  in
FTN5A.FIG.
BEWARE FILE FOR FORTRAN-10 V5A                                  Page 4


5.0  RECOMMENDED PATCHES AND KNOWN DEFICIENCIES


The following are known deficiencies in version  V5A  of  the  Fortran
compiler:

     1.  An ASSOCIATE VARIABLE passed as a formal parameter  will  not
         be  updated  properly  by  RANDOM  I/O  statements inside the
         subroutine.

     2.  "dev:" in the INCLUDE syntax,  "INCLUDE  'dev:   filename.ext
         [proj, prog]/nolist'", can only be a disk device.


The following are known bugs in version V5A of the Fortran compiler:

     1.  Bad code may be generated for certain  forms  of  complicated
         assignment   statements   involving   logical  variables  and
         operators.


Appended to this .BWR file is a list of PCOs made to  version  V5A  of
the  Fortran  compiler since edit 621:  they include edits 622 through
624.

Note that these PCOs are included here for information purposes  only.
None  of  the  bugs reportedly fixed by the patches described in these
PCOs is critical so none of the patches must be made in order to  have
a  working product.  If a site is encountering the bug reported in the
PCO, they may choose to make the specified patch.



6.0  GENERAL WARNINGS


The control file B10FTN.CTL which builds FORTRA creates the .DOC  file
for  FORTRA  under  the  name FTN5A1.DOC.  That file is on the release
tape as FTN5A.DOC.



7.0  NEW FEATURES, DIFFERENCES OBSERVABLE TO THE USER


The new features and  enhancements  in  version  V5A  of  the  Fortran
compiler are documented in FTN5A.DOC.
BEWARE FILE FOR FORTRAN-10 V5A                                  Page 5


8.0  RESULTS OF TESTING


Version V5A of the Fortran package has been extensively  tested,  both
in-house  at our Marlboro facility and in an extended field test, with
excellent  results.   Version  V5A  continues  to  be  a   significant
improvement in reliability, especially in the optimizer.



[End of FTN5A.BWR]
Digital Equipment Corporation       28-OCT-77    Page   1
PCO Log Report



                   *********************
                   *PCO #:10-F10   -270*
                   *********************


[Program Data]          System:   F10
                        Component:F10

[Validity]         5A(621)

[Date Entered]          07-OCT-77

[Programmer]            EKLUND

[Routines]              CMPLEX    CMPLA

[Key Words]             ICE         COMPLEX     ARRAY       REG ALLOC

[Source Before Edit]    %5A  (000621)

[Source After Edit]     %5B  (000622)

[Test File Data]            :           [        ]

[Miscellaneous]         DOC changes:   N
                        SER/SPR Number:10-11020
                        Critical:      N


************************************************************************

[Notes]
Digital Equipment Corporation       28-OCT-77    Page   2
PCO Log Report

[PCO Write-up]



                        **********


[SYMPTOM]
 
 
     Internal compiler error may occur during  the  compilation  of  a
large expression involving a COMPLEX array reference.
 

                        **********


[DIAGNOSIS]
 
 
     The  compiler  makes  two  passes  over  all  expressions  during
register  allocation  -  the first to determine the complexity of each
node (number of registers necessary for evaluation), and the second to
actually allocate specific registers.  During the latter pass, if more
registers are required than have been  determined  by  the  complexity
pass,  an  internal error is signalled rather than producing bad code.
In the case in question, the complexity pass erroneously thought  that
two  registers  should  be  allocated  for  a  complex array reference
negated, when in fact  three  are  required.   This  resulted  in  the
allocation pass running out of registers and complaining!
 

                        **********


[CURE]
 
 
     During complexity pass, make sure that enough registers  are  set
aside for the computation of a negated complex array reference so that
we do not run out of registers later on.
 
Digital Equipment Corporation       28-OCT-77    Page   3
PCO Log Report


[FILCOM]
File 1)	FTN:COMMAN.MAC[31,4650]	created: 1046 30-SEPT-1977
File 2)	FTN:COMMAN.622[30,4515]	created: 1400 07-OCT-1977
 
1)1	TITLE	FTNCMD	%5A(621) COMMAND SCANNER INTERFACE FOR FORTRAN C
	OMPILER
1)	SUBTTL	DONALD LEWINE/DAL/FI/HPW/DBT/NEA/MD/JNT/DCE/SJW/JNG 30-S
	EP-77
1)	;***COPYRIGHT 1972,1973,1974,1975,1976,1977 DIGITAL EQUIPMENT CO
	RP., MAYNARD, MASS. ***
****
2)1	TITLE	FTNCMD	%5A(622) COMMAND SCANNER INTERFACE FOR FORTRAN C
	OMPILER
2)	SUBTTL	DONALD LEWINE/DAL/FI/HPW/DBT/NEA/MD/JNT/DCE/SJW/JNG 7-OC
	T-77
2)	;***COPYRIGHT 1972,1973,1974,1975,1976,1977 DIGITAL EQUIPMENT CO
	RP., MAYNARD, MASS. ***
**************
1)1	;END REVISION HISTORY
****
2)1	;***** BEGIN VERSION 5B *****
2)	;622	CMPLEX(133)	11020	ICE WITH COMPLEX ARRAY REFERENCE
2)	;END REVISION HISTORY
**************
1)1	EDNUM==621	;EDIT NUMBER
1)	JOBVER=137
****
2)1	EDNUM==622	;EDIT NUMBER
2)	JOBVER=137
**************
 
Digital Equipment Corporation       28-OCT-77    Page   4
PCO Log Report


[FILCOM]
File 1)	FTN:CMPLEX.BLI[31,4650]	created: 0834 17-DEC-1976
File 2)	FTN:CMPLEX.622[30,4515]	created: 0935 07-OCT-1977
 
1)1	GLOBAL BIND CPLXV = 5^24 + 0^18 + 132;	!VERSION DATE: 3-Nov-76
1)	%(
****
2)1	GLOBAL BIND CPLXV = 5^24 + 1^18 + 133;	!VERSION DATE: 7-OCT-77
2)	%(
**************
1)1	)%
****
2)1	***** BEGIN VERSION 5A *****
2)	133	622	11020	COMPLEXITY OF COMPLEX ARRAY REF SHOULD B
	E GTR 2
2)	)%
**************
1)1	!**[412] CMPLA @3815 SJW 9-JUL-76
1)	%[412]%	IF  .ARG1NODE [OPRCLS] EQL ARRAYREF	AND
1)	%[412]%	    .ARG1NODE [VALTYPE] EQL DOUBLPREC	AND
1)	%[412]%	    .KA10FLG				AND
1)	%[412]%	    .CMPLX2 NEQ 0			AND
1)	%[412]%	    .RETVAL LSS 3
1)	%[412]%	  THEN RETVAL _ 3;
1)	%[412]%	RETURN .RETVAL;
****
2)1	!**;[622], CMPLA @3824, DCE, 7-OCT-77
2)	!**;[622], COMPLEX ARRAY REF NEEDS 3 REGS ALSO!
2)	%[622]%	IF .ARG1NODE[OPRCLS] EQL ARRAYREF
2)	%[622]%	THEN IF ((.ARG1NODE[VALTYPE] EQL DOUBLPREC AND .KA10FLG)
2)	%[622]%			OR .ARG1NODE[VALTYPE] EQL COMPLEX)
2)	%[622]%	THEN IF .CMPLX2 NEQ 0
2)	%[622]%	THEN IF .RETVAL LSS 3
2)	%[622]%	THEN RETVAL _ 3;
2)	%[412]%	RETURN .RETVAL;
**************

[End PCO Write-up]
Digital Equipment Corporation       28-OCT-77    Page   5
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       28-OCT-77    Page   6
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       28-OCT-77    Page   7
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       28-OCT-77    Page   8
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]
Digital Equipment Corporation       28-OCT-77    Page   9
PCO Log Report



                   *********************
                   *PCO #:10-F10   -272*
                   *********************


[Program Data]          System:   F10
                        Component:F10

[Validity]         5(515) TABLE BUILDER

[Date Entered]          14-OCT-77

[Programmer]            STAN WHITLOCK

[Routines]              ERRTB3

[Key Words]             RADIX       RELOC

[Source Before Edit]    %5A  (000623)

[Source After Edit]     %5A  (000624)

[Test File Data]            :           [        ]

[Miscellaneous]         DOC changes:   N
                        SER/SPR Number:10-QA2166
                        Critical:      N


************************************************************************

[Notes]
Digital Equipment Corporation       28-OCT-77    Page  10
PCO Log Report

[PCO Write-up]



                        **********


[SYMPTOM]
 
 
 
 
In ERRTB3.MAC in the syntax table builder, the  RADIX  10  precedes  the
RELOC 400000 which makes MACRO relocate to 415200 octal.
 

                        **********


[DIAGNOSIS]
 
The RADIX 10 statement should follow the RELOC 400000.
 

                        **********


[CURE]
 
Move the RADIX 10 statement to after the RELOC 400000.
 
Digital Equipment Corporation       28-OCT-77    Page  11
PCO Log Report


[FILCOM]
File 1)	LIB:COMMAN.MAC[31,4650]	created: 1121 10-OCT-1977
File 2)	DSKC:COMMAN.MAC[31,4577]	created: 1003 14-OCT-1977
 
1)1	TITLE	FTNCMD	%5B(623) COMMAND SCANNER INTERFACE FOR FORTRAN C
	OMPILER
1)	SUBTTL	DONALD LEWINE/DAL/FI/HPW/DBT/NEA/MD/JNT/DCE/SJW/JNG 10-O
	CT-77
1)	;COPYRIGHT (C) 1972,1977 BY
****
2)1	TITLE	FTNCMD	%5B(624) COMMAND SCANNER INTERFACE FOR FORTRAN C
	OMPILER
2)	SUBTTL	DONALD LEWINE/DAL/FI/HPW/DBT/NEA/MD/JNT/DCE/SJW/JNG 14-O
	CT-77
2)	;COPYRIGHT (C) 1972,1977 BY
**************
1)1	;END REVISION HISTORY
****
2)1	;624	ERRTB3		QA2166	REORDER RADIX 10 AND RELOC 40000
	0
2)	;END REVISION HISTORY
**************
1)1	EDNUM==623	;EDIT NUMBER
1)	JOBVER=137
****
2)1	EDNUM==624	;EDIT NUMBER
2)	JOBVER=137
**************
 
Digital Equipment Corporation       28-OCT-77    Page  12
PCO Log Report


[FILCOM]
File 1)	FTN:ERRTB3.MAC[31,4735]	created: 1732 04-OCT-1977
File 2)	DSKC:ERRTB3.MAC[31,4577]	created: 1000 14-OCT-1977
 
1)1	RADIX 10 ; WE ARE IN THE REAL WORLD
1)		RELOC 0		; LOW-SEGMENT PORTION
****
2)1		RELOC 0		; LOW-SEGMENT PORTION
**************
1)1	; WE ALWAYS CONSIDER BITS IN THE ORDER  D-H-S-I-R
****
2)1		RADIX 10	;[624] WE ARE IN THE REAL WORLD
2)	; WE ALWAYS CONSIDER BITS IN THE ORDER  D-H-S-I-R
**************

[End PCO Write-up]
Digital Equipment Corporation       28-OCT-77    Page  13
PCO Log Report