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