gfortran to gfc comparison using gfortran testsuite
THOMAS Paul Richard
prthomas@drfccad.cea.fr
Wed Feb 9 13:30:00 GMT 2005
I sometimes detect a note of pessimism from some of the gfortran developers
and a widespread opinion that g95 is in a more advanced state than gfortran.
This does not completely accord with my experience.
In general, gfortran does pretty much what is needed of it. There are
corners where bugs are lurking but those are getting fewer and more obscure.
My experience of g95 is it tends to be much of a muchness; the common
ancestory shows through in shared bugs and they each have their own
"specialty bugs".
Just to test my feeling about it all, I ran the gfortran testsuite for both
compilers using the bash script that I posted a couple of weeks ago. All
compilations were done with -O0. I have eliminated compile-only cases from
both that the script is not detecting and added them to successes (having
checked that they compiled, of course!)
The summary of results for both is listed below. gfortran was downloaded on
31st Jan and built last night, using my namelist and one or two patches from
the list, and g95 was downloaded and built, as it comes, this morning.
Overall, we have
compiler compile errors runtime
errors
gfortran 20050131 15(15) 2(2)
g95 20050208 33(13) 24(0)
The figures in brackets are the expected failures for gfortran.
This is almost certainly unfair on g95 in so far as the gfortran tests tend
to be what its developers are concentrating upon. I have no doubt that it
would be possible to prepare a testsuite that turned the tables (eg NAMELIST
of arrays of characters and derived types to pick out my interest).
The point that I am trying to make is that gfortran is not doing too badly
at all and is rapidly being transformed into a usable fortran95 compiler
Paul T
Run on Wed Feb 9 12:06:51 2005 System 1.5.7(0.109/3/2) 2004-01-30
19:32 i686
G95 (GCC 4.0.0 20050208 (experimental) (g95!) Feb 9 2005)
Copyright (C) 2002 Free Software Foundation, Inc.
33 compilation errors
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/19990905-1.f
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/20010321-1.f
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/20030326-1.f
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/9263.f - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/970125-0.f - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/980615-0.f - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/980616-0.f - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/check0.f - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/ffixed-line-length-0.f
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/ffixed-line-length-non
e.f
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/intrinsic-unix-bessel.
f
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/xformat.f
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/assign_1.f90 - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/assignment_1.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/blockdata_1.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/common_3.f90 - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/der_io_1.f90 - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/do_iterator.f90 - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/entry_1.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/getenv_1.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/implicit_1.f90 - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/implicit_2.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/namelist_1.f90 - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/oldstyle_1.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/pr15140.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/pr15754.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/pr16433.f - expected
(bogus)
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/real_do_1.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/select_4.f90 - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.fortran-torture/compile/data_
1.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.fortran-torture/execute/foral
l_6.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.fortran-torture/execute/intri
nsic_mmloc.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.fortran-torture/execute/speci
fics.f90
24 runtime errors
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/1832.f
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/f90-intrinsic-bit.f
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/edit_real_1.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/inquire_5.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/pr17286.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/pr17706.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/real_const_2.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/reduction.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/scale_1.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.fortran-torture/execute/dep_f
ails.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.fortran-torture/execute/foral
l_3.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.fortran-torture/execute/foral
l_4.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.fortran-torture/execute/foral
l_5.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.fortran-torture/execute/intri
nsic_fraction_exponent.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.fortran-torture/execute/intri
nsic_nearest.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.fortran-torture/execute/intri
nsic_set_exponent.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.fortran-torture/execute/partp
arm.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.fortran-torture/execute/rando
m_2.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.fortran-torture/execute/st_fu
nction.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.fortran-torture/execute/st_fu
nction_1.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.fortran-torture/execute/where
_1.f90
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.fortran-torture/execute/where
_6.f90
./mytests/test_nml_2.f
./mytests/test_nml_3.f95
391 completely successful
Run on Wed Feb 9 12:17:08 2005 System 1.5.7(0.109/3/2) 2004-01-30
19:32 i686
GNU Fortran 95 (GCC 4.0.0 20050131 (experimental))
Copyright (C) 2005 Free Software Foundation, Inc.
15 compilation errors
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/19990905-0.f -
expected (bogus)
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/9263.f - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/970125-0.f - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/980615-0.f - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/980616-0.f - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/check0.f - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/assign_1.f90 - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/common_3.f90 - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/der_io_1.f90 - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/do_iterator.f90 - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/implicit_1.f90 - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/namelist_1.f90 - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/select_4.f90 - expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/shape_1.f90 - expected
./mytests/PR19754_1.f90 - expected
2 runtime errors
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/g77/f77-edit-t-in.f -
expected
/cygdrive/d/gcc-cvs/gcc/gcc/testsuite/gfortran.dg/ret_pointer_1.f90 -
expected
429 completely successful
More information about the Fortran
mailing list