home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 2 / RISC_DISC_2.iso / pd_share / program / fortran77_210 / f77buglist < prev    next >
Encoding:
Text File  |  1994-04-26  |  4.9 KB  |  119 lines

  1.        Acorn Fortran77 release 2  Bug List and Example Code
  2.                   last updated  21 Apr 94
  3.  
  4. Please send news of any other bugs you come across.
  5.  
  6. no Date        Source
  7. 1  Mar91       Archive  vol 6 no.4 page 8
  8.                Raymond Wright reported that DACOS(-1.) gives the wrong answer
  9.                but    X=-1.
  10.                       Y=DACOS(X)
  11.                the right one.   see PRM page 1706
  12.                This problem applies when any of the 'immediate operands'
  13.                which are (0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 0.5, 10.0)  are
  14.                used in negative form as arguments to fortran functions.
  15.                e.g. the result of this code  below is 1.0
  16.                PRINT *, ' the square root of -1 is ', SQRT(-1.)
  17.                END
  18. --------------------------------------------------------------------------
  19.       PROGRAM BUG1
  20.       PRINT *,' SQRT(-1.0) =',SQRT (-1.0)
  21.       S = -1.0
  22. C        but this one really does fail!
  23.       PRINT *,' SQRT(S) =',SQRT(S)
  24.       END
  25.  
  26. --------------------------------------------------------------------------
  27. 2  13 Jul 91   J.P.Davey  reported a problem passing functions as arguments
  28.                the following code will not compile, it stops with an error
  29.                Fatal Error (Code 930): Internal Error
  30.                SUBROUTINE TEST(F1,X)
  31.                EXTERNAL F1
  32.                F(Z)=F1(X,Z)
  33.                A=F(2.0-1.0)
  34.                RETURN
  35.                END
  36. --------------------------------------------------------------------------
  37.       SUBROUTINE TEST(F1,X)
  38.       EXTERNAL F1
  39.       F(Z)=F1(X,Z)
  40.       B=F(2.0-1.0)
  41.       RETURN
  42.       END
  43.  
  44. --------------------------------------------------------------------------
  45.  
  46. 3  30 Sep 91
  47. Kate Crennell  Error in concatenating a character variable with itself,
  48.                and no warnings given.
  49.                This is not allowed in standard Fortran 77 although some
  50.                compilers translate it correctly, others give compilation
  51.                errors. Acorn Archimedes Fortran gives no compilation error
  52.                or warning, and gives the wrong answer.
  53. --------------------------------------------------------------------------
  54.       PROGRAM Bug3
  55.       CHARACTER *40 A
  56.       DATA A/'<123>'/
  57.       WRITE(*,*)' A=*',A,'*'
  58.       A='X'//A   
  59.       WRITE(*,*)' A=*',A,'*'
  60.       STOP
  61.       END
  62.  
  63. --------------------------------------------------------------------------
  64.  
  65. 4  03 Nov 91
  66. Kate Crennell  OPEN file names are truncated to 30 characters. 
  67.                You can get round this by defining an Alias e.g <My$dir>
  68.                for the directory path and using that instead of the full
  69.                path name in the Fortran.
  70. --------------------------------------------------------------------------
  71.       PROGRAM OPENBUG
  72.       CHARACTER*40 NAMEO,INAME
  73.       DATA NAMEO/'SCSI::HD4.$.MATHS.KMCPoly.NOGOODFILE'/
  74.       OPEN(10,FILE=NAMEO,STATUS='NEW',FORM='FORMATTED')
  75.       INQUIRE(UNIT=10,NAME=INAME)
  76.       WRITE(*,*)' INQUIRE thought name was ',INAME
  77.       WRITE(10,100)NAMEO,NAMEO(1:30)
  78.   100 FORMAT(' this is just a little test file'/
  79.      +' it ought to be written to a file with name'/1X,A/
  80.      +' but actually it will be written to'/1X,A)
  81.       CLOSE(10)              
  82.       END
  83.  
  84. --------------------------------------------------------------------------
  85.  5  21 Feb 92 
  86.  Andrew Ray  Despite the statement on page 32 of the Release2 Fortran77
  87.              manual, files cannot be accessed with STATUS='SCRATCH' in the
  88.              OPEN statement. You get round this by putting STATUS='DELETE'
  89.              in the CLOSE statement
  90.   5a 21 Apr 94  Although you can use STATUS='SCRATCH' as shown below, you
  91.              cannot REWIND the file, and then try to read it back, because
  92.              REWIND does a CLOSE, and then subsequent attempts to read
  93.              from that file cause the computer to hang
  94. ---------------------------------------------------------------------------        PROGRAM sratchy
  95.       INTEGER IWORD(200)
  96.       DO 10 I=1,200
  97.    10 IWORD(I)=I
  98.       NOUT=2
  99. C                 STATUS='SCRATCH' is not accepted at Run Time
  100. C                 but STATUS='DELETE' in the CLOSE statement works
  101.       OPEN(UNIT=NOUT,FILE='Kate',FORM='FORMATTED',STATUS='SCRATCH')
  102.       WRITE(NOUT,101)(IWORD(I),I=1,200)
  103.   101 FORMAT( 10I6)
  104.       CLOSE(NOUT)
  105. C      replace the line above with the line below to delete the file
  106. C      CLOSE(NOUT,STATUS='DELETE')
  107.       STOP 'OK'
  108.       END 
  109. ----------------------------------------------------------------------------
  110. 6 17 June 93
  111.   Eugène R Dahmen found many linker problems when using RISC OS 3 with
  112.         ADFS buffers NOT set to 0, watch this after a 'factory reset'
  113. ----------------------------------------------------------------------------
  114. 7  4 Nov 93  
  115.  K.M.Crennell  Compilation fails on very large BLOCK DATA statement with the
  116.                message "insufficient store for code generation". Changing
  117.                the slot size available makes no difference; you just have to
  118.                rewrite the code.
  119.