home *** CD-ROM | disk | FTP | other *** search
/ Archive Magazine 1996 / ARCHIVE_96.iso / discs / shareware / share_44 / f77buglist < prev    next >
Text File  |  1993-11-13  |  5KB  |  115 lines

  1.        Acorn Fortran77 release 2  Bug List and Example Code
  2.                   last updated  17 June 93
  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. ---------------------------------------------------------------------------        PROGRAM sratchy
  91.       INTEGER IWORD(200)
  92.       DO 10 I=1,200
  93.    10 IWORD(I)=I
  94.       NOUT=2
  95. C                 STATUS='SCRATCH' is not accepted at Run Time
  96. C                 but STATUS='DELETE' in the CLOSE statement works
  97.       OPEN(UNIT=NOUT,FILE='Kate',FORM='FORMATTED',STATUS='SCRATCH')
  98.       WRITE(NOUT,101)(IWORD(I),I=1,200)
  99.   101 FORMAT( 10I6)
  100.       CLOSE(NOUT)
  101. C      replace the line above with the line below to delete the file
  102. C      CLOSE(NOUT,STATUS='DELETE')
  103.       STOP 'OK'
  104.       END 
  105. ----------------------------------------------------------------------------
  106. 6 17 June 93
  107.   EugΦne R Dahmen found many linker problems when using RISC OS 3 with
  108.         ADFS buffers NOT set to 0, watch this after a 'factory reset'
  109. ----------------------------------------------------------------------------
  110. 7  4 Nov 93  
  111.  K.M.Crennell  Compilation fails on very large BLOCK DATA statement with the
  112.                message "insufficient store for code generation". Changing
  113.                the slot size available makes no difference; you just have to
  114.                rewrite the code.
  115.