Summary for NIST bugs

FX Coudert Francois-Xavier.Coudert@lcp.u-psud.fr
Tue Dec 28 09:58:00 GMT 2004


Hi all,

I attempt here to sum up the situation on remaining NIST bugs. Some of 
them seem to be reported in the bugzilla,
but for most I couldn't find a PR number. Maybe I am helpless at 
searching through bugzilla, maybe
the work of trimming down test cases has not been done for all of them.

If you have more information than I do, please help. I hope to do 
usefull work, even though I don't want to touch the compiler's
guts, by working to produce minimal test cases for known bugs. If there 
are other cases than NIST that you think I should work
on, I will be glad to give it a try!


* FM020, FM311 and FM328: this is PR18600. Minimal test case revolves 
around:
       IMPLICIT LOGICAL (L)
       LFOS01(LDON04) = .TRUE.
       PRINT *, LFOS01(.TRUE.)
After the assignment, any operation with LFOS01(.TRUE.) generates an ICE.


* FM110. Couldn't find a PR for this one. Minimal testcase is attached 
(nist110.f and FM110.DAT).
The runtime error message given is "Fortran runtime error: Bad value 
during floating point read".
Some other compilers fail on this one (such as g95), while some pass it 
(Intel, Portland).


* FM111. There are two different bugs in this one. First is PR17423. I 
couldn't locate a PR for the second, which is:

$ cat nist111bis.f
       PROGRAM FM111
       REAL A1S(5)
35309 FORMAT (11X,10HCOMPUTED: ,I5,1X,F5.2)
       WRITE(NUVI,JVI) IVI,A1S(5)
       END
$ gfortran nist111bis.f
nist111bis.f: In function 'MAIN__':
nist111bis.f:4: internal compiler error: in gfc_conv_string_parameter, 
at fortran/trans-expr.c:1986


* FM252: seemingly more than one cause of ICE can be extracted from this 
one. It was reported to cause PR17423.
The other one may be related to PR18781, but I don't know for sure. 
Minimal example for ICE is:
       PROGRAM FM252
       WRITE (*, J)
       END

* FM517 and FM719 are related to ENTRY. One example is shown in PR17423. 
Minimal cases are:

$ cat nist517.f
       SUBROUTINE SN519(IVD001,*,*)
       RETURN (IVD001 - 2*(IVD001/2) + 1)
       ENTRY EN872(IVD002,*,*)
       RETURN (IVD002 - 3)
       END
$ cat nist719.f
       SUBROUTINE TEST(IVN001,*)
       ENTRY BUG(IVN003,*,*)
       END


* FM711, FM908 and FM909 are probably the same bug:
$ cat nist908.f
       PROGRAM FM908
       DOUBLE PRECISION CVD
       CHARACTER C431K(2)*10
       READ(UNIT=C431K,FMT=*) CVD
       END
$ cat nist909.f
       PROGRAM FM909
       DOUBLE PRECISION CVD
       CHARACTER*43 A431K(2)
       WRITE(UNIT=A431K,FMT=*) CVD
       END
$ cat nist711.f
       PROGRAM FM711
       CHARACTER CVCOMP*20,C1N002(4)*5,CVN001*10
       WRITE (UNIT=CVCOMP, FMT=C1N002) CVN001
       END


* Finally, I have reduced the failure of FM912 (overwriting a record 
doesn't work the way it should)
to a 86 lines minimal test case. I will be working further along this 
line today and will post a trimmed
down reproducible case in the near future.

FX



More information about the Fortran mailing list