Trailing-Edge - PDP-10 Archives - BB-4157F-BM_1983 - fortran/documentation/fortra.bwr
There are 10 other files named fortra.bwr in the archive. Click here to see a list.

                  Warnings about FORTRAN-20 Version 7


There is a compiler bug which affects programs that  are  compiled  /GFL
and have exponentiation of the form:

        R ** I

where R is a single or double  precision  real  constant  and  I  is  an
integer  constant.   Unless  the  program is compiled /OPT, the bug only
occurs when both R and I  are  constants  or  symbolic  constants.   The
compiler generates the wrong value for such an expression.

This bug is fixed by edit 1724 which will be in the first  autopatch  of

The following procedure may be used to fix the compiler in the  meantime
if you wish to use /GFLOATING.  User input is in lower case.
    FILDDT>get fortra/p
    [3908 symbols loaded from file]
    [Looking at file FORTRA.EXE.1]

    expgf/   DMOVE 4,DPNEGN#+12   dmove 4,pat..
    gstep1+7/   DMOVE 1,DPNEGN#+12   dmove 1,pat..
    gover+5/   DMOVE 1,DPNEGN#+12   dmove 1,pat..
    pat../   0   200140,,0
    pat..+1/   0   0
    pat..+2/   0   pat..:   

If you prefer to make a source patch to the compiler,  the  module  that
should be changed is CNSTCM.MAC.  Note that you should save the original
source for autopatch.
File 1) V7AC:CNSTCM.MAC[4,504]  created: 1812 12-Jan-1983
File 2) DSK:CNSTCM.MAC[4,714]   created: 1054 03-Feb-1983

1)1             CNSTCV= BYTE (3)0(9)6(6)0(18)1707       ; Version Date: 4-Jan-83
2)1             CNSTCV= BYTE (3)0(9)6(6)0(18)1724       ; Version Date: 3-Feb-83
1)1     ***** End Revision History *****
2)1     ***** End V7 Development *****
2)      1724    CKS     3-Feb-83
                                                                  Page 2

2)              EXPGF was copied from EXPRL and G-ized.  Unfortunately, it
2)              wasn't G-ized enough.  Change 1.0 to 200140000000.
2)      ***** End Revision History *****
1)1             F1=201400       ;FLOATING POINT ONE
1)              G1=200140       ;[761] GFLOATING 1.0
2)1             F1=201400000000 ;[1724]FLOATING POINT ONE
2)              G1=200140000000 ;[1724] GFLOATING 1.0
1)3             DMOVE   RH,[EXP 1.0,0]  ;Floating 1 to RH-RL
1)              MOVM    T,C2L           ;|exponent| to T
;**;[1724] @ EXPGF + 2L, change 1 line, CKS, 3-Feb-83
2)3             DMOVE   RH,[EXP G1,0]   ;[1724]Floating 1 to RH-RL
2)              MOVM    T,C2L           ;|exponent| to T
1)3             DMOVE   TH,[EXP 1.0,0]  ;Else get reciprocal of result
1)              GFDV    TH,RH           ;Underflow impossible
;**;[1724] @ GSTEP1 + 8L, change 1 line, CKS, 3-Feb-83
2)3             DMOVE   TH,[EXP G1,0]   ;[1724]Else get reciprocal of result
2)              GFDV    TH,RH           ;Underflow impossible
1)3             DMOVE   TH,[EXP 1.0,0]  ;For exponent < 0, get reciprocal
1)              GFDV    TH,RH           ;of wrapped overflow
;**;[1724] @ GOVER + 5L, change 1 line, CKS, 3-Feb-83
2)3             DMOVE   TH,[EXP G1,0]   ;[1724]For exponent < 0, get reciprocal
2)              GFDV    TH,RH           ;of wrapped overflow


Edit 476 of SORT (PCO 20-SORT-197) is required in  order  to  call  SORT
from  FORTRAN  on  TOPS-20  KL  model  B  processors.  SORT 4.4(500) was
shipped on autopatch tape  4.  If you have not yet  installed  Autopatch
tape   4,  you should install SORT edit 476 if you want to use SORT with
FORTRAN V7.  This SORT patch is required because the FORTRAN  V7  FORSRT
will cause SORT to be merged into a non-zero section on Tops-20 KL model
B processors.
                                                                  Page 3


     1.  There are several deficiencies in the  compile-class  commands.
         These  are  due  to  bugs  in the TOPS-20 EXEC.  These problems
         occur in TOPS-20 releases 4.1, 5.0, and 5.1.

         1.  If  the  /NOBINARY  switch  is  given  to  a  compile-class
             command,  it is ignored.  Edit 938 (PCO 20-EXEC-186) to the
             TOPS-20 EXEC fixes this problem.

         2.  If the  /NOWARNING  switch  is  given  to  a  compile-class
             command,  it is ignored.  Edit 947 (PCO 20-EXEC-195) to the
             TOPS-20 EXEC fixes this problem.

         3.  The /ABORT switch, although present in the list of switches
             given  in  response  to a ?, is not recognized.  The /ABORT
             and /ALGOL switches are not in  alphabetical  order.   Edit
             944  (PCO  20-EXEC-192)  to  the  TOPS-20  EXEC  fixes this

         4.  If a /LIST switch is given with /NOCREF, no  list  file  at
             all is produced.

         The above deficiencies exist in field  image  TOPS-20  releases
         4.1, 5.0, and 5.1.

     2.  Do not install TOPS-20 edit 2819 (CTCO 607.1).

         TOPS-20 edit 2819 is a bad edit which can cause system  crashes
         when  EXTEND  instructions  are  used.   If  you observe system
         crashes when running G-floating programs, this TOPS-20 edit may
         be the cause, and its removal will solve the problem.

         TOPS-20 edit 2873 (PCO 20-MONITO-512) is a replacement edit for
         the original problem.  This PCO is in TOPS-20 release 5.1.