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