Warnings about FORTRAN-20 Version 7 1.0 KNOWN BUG IN G-FLOATING 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 FORTRAN V7. 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 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..: ^Z @;done 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 1) **** 2)1 CNSTCV= BYTE (3)0(9)6(6)0(18)1724 ; Version Date: 3-Feb-83 2) ************** 1)1 ***** End Revision History ***** **** 2)1 ***** End V7 Development ***** 2) 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) 2) ***** End Revision History ***** ************** 1)1 F1=201400 ;FLOATING POINT ONE 1) G1=200140 ;[761] GFLOATING 1.0 1) **** 2)1 F1=201400000000 ;[1724]FLOATING POINT ONE 2) G1=200140000000 ;[1724] GFLOATING 1.0 2) ************** 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 ************** 2.0 MANDATORY PATCHES FOR RELATED PRODUCTS 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 3.0 KNOWN DEFICIENCIES IN RELATED PRODUCTS 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 problem. 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.