Gfortran maintainers have kept up the momentum of 2006 and the number
of known F95 bugs has gone down sharply, the diagnostic capability
has increased and new F2003/8 features added.
Hopefully, the contributors can continue to move forward with bug
fixes, conformance to Fortran 95 standard, and the implementation of
Fortran 2003/8 features. However, this needs new blood in the ranks,
particularly since Steve Kargl and Bud Davis have hung up their
maintainer hats and some of the other regulars are struggling with
competition between gfortran and daytime jobs or moves between
countries.
If you have any interest in helping out, please do not hestitate to
contact one of us or to mail the gfortran list, for help on how to
get started.
An important source of help to us is bug reporting. Best of all is for
bugs to be posted in Bugzilla with well reduced testcases. There is a
group of regulars out there whose efforts are really appreciated. It is
noticable that threads on comp.lang.fortran are becoming increasingly
important; particularly to resolve thorny issues of Standard
interpretation but also for picking up bugs. A favourite was "Most
elegant syntax for inverting a permutation?" which led to corrections
of problems with assignment and FORALL.
As an aside, it should be noted that the main part of this report
was written by Steve Kargl. Many thanks, Steve! Thank you for all
your contributions over the years and, should you change your mind,
we all look forward to you rejoining us.
A few highlights from the past year are:
1) Chris Rickett's ISO C Binding patch. He did ~95% of work with
Tobias Burnus, F-X Coudert and Steve Kargl throwing the odd fix
here and there.
2) Daniel Franke and Brooks Moses wrote, rewrote, and re-organized
large portions of the gfortran manual. This is a thankless task
that has resulted in a great improvement to the documentation
of gfortran.
3) Brooks and Pault finally implemented TRANSFER(), which was a
glaring omission in gfortran's conformance to the F95 standard.
4) Janus Weil was gfortran's first Google SoC student. He worked
on the Fortran 2003 PROCEDURE feature. Procedure pointers will
be implemented in 2008.
5) An important milestone only a few may notice is that the number
of bug reports against conformance to F95 is diminishing. This
has been a collective effort with all the maintainers keeping an
eye on the "bug-bashing" part of the gfortran wiki, mentioned at
the end of this report.
6) Janne Blomqvist finally got his symbol versioning patch into the
tree.
7) F-X Coudert, Thomas Koenig, Jerry DeLisle, Janne Blomqvist, and
Daniel Franke(and others) have expended a large amount of effort
on making libgfortran more robust, faster, cleaner, etc.
8) Subreference array pointers, which was the last missing F95
feature, were implemented by Paul Thomas. This feature permits
likes of "my_int_pointer => my_type(:)%int_cmp".
9) At some stage in the year, some underlying bugs were fixed that
allowed J.L.Schonfelder's ISO Varying String testsuite to run
faultlessly with Rich Townsend's version of the ISV library, which
uses allocatable components, aka TR 15581.
10) The backtrace/code-dump option was added by F-X Coudert.
11) The -finit-* options were added by Asher Langton.
12) Although the postion of gfortran in the Polyhedron performance
tables has not changed much, the diagnostic rating has creapt up
from 34% to 42%.
There were 497 commits to the gfortran front-end in 2007. A ChangeLog
for a multi-author patch is credited to the first listed name. The
number of commits by committer are:
Rafael Avila de Espindola 3
Janne Blomqvist 9
Steven Bosscher 1
Paul Brook 2
Tobias Burnus 103
Nick Clifton 2
Francois-Xavier Coudert 99
Jerry DeLisle 49
Steve Ellcey 2
Bernhard Fischer 6
Daniel Franke 55
Kaveh R. Ghazi 5
Richard Guenther 7
Richard Henderson 1
Aldy Hernandez 1
Kazu Hirata 7
Jan Hubicka 2
Dominique d'Humieres 1
Daniel Jacobowitz 1
Jakub Jelinek 11
Steven G. Kargl 24
Thomas Koenig 14
Anton Korobeynikov 1
Asher Langton 2
Sandra Loosemore 2
Manuel Lopez-Ibanez 1
H.J. Lu 4
Lee Millward 4
Mark Mitchell 1
Brooks Moses 50
Dirk Mueller 1
Joseph Myers 2
Andrew Pinski 3
Christopher D. Rickett 19
Duncan Sands 1
Roger Sayle 22
Tobias Schlueter 26
Nathan Sidwell 1
Ian Lance Taylor 1
Paul Thomas 113
Kai Tietz 1
Tom Tromey 1
Janus Weil 4
Ralf Wildenhues 1
There were 86 commits to libgfortran in 2007. The number of
commits by committer is as follows:
Janne Blomqvist 9
Paolo Bonzini 1
Tobias Burnus 18
Francois-Xavier Coudert 54
Jerry DeLisle 57
David Edelsohn 3
Steve Ellcey 2
Ben Elliston 2
Bernhard Fischer 2
Daniel Franke 3
Jakub Jelinek 1
Steven G. Kargl 5
Thomas Koenig 22
H.J. Lu 1
Brooks Moses 1
Adam Nemet 1
Rainer Orth 1
Christopher D. Rickett 5
Danny Smith 1
Paul Thomas 1
Kai Tietz 1
Tom Tromey 1
So, in terms of total commits, F-X Coudert is the 2007 champion with
153 commits and Tobias a good runner-up with 121.
Within these commits, over 433 problem reports as listed in Bugzilla
were fixed in fortran and a further 63 in libfortran. The PRs listed
in ChangeLogs were fixed by the following individuals:
(Note that there is some duplication of reports due either to multiple
commits being required to fix a bug or the same bug appearing in the
fortran front-end and in the library.)
Janne Blomqvist
32239 32748 32909 27740 32239 32239
Steven Bosscher
30278
Tobias Burnus
20888 25062 25071 29624 29649 30276 30276 30512 30520 30522
30783 30793 30865 30873 30887 30888 30922 30940 30968 30973
31298 31472 31547 31559 31668 31803 32088 32323 32359 32460
32483 32555 32600 32669 32936 32979 32980 32985 32987 33001
33037 33072 33105 33106 33139 33178 33188 33228 33231 33232
33284 33297 33310 33325 33343 33412 33445 33745 33818 33862
33917 33917 33941 34079 34079 34079 34133 34133 34137 34186
34186 34187 34192 34248 34262 34318 34333 34333 34342 34345
18026 29471 34425 34398 34438 34246 34495 34482 34421 34514
29649 30015 30512 31189 31286 31295 31296 31915 31917 32124
32987 34319 34404 34319 34427 34530
Francois-Xavier Coudert
25252 26682 26682 29459 29459 29600 29600 29649 29784 29828
30285 30430 30446 30611 30655 30720 30723 30780 30820 30834
30877 30933 30947 30948 30964 31119 31120 31184 31189 31198
31201 31202 31203 31262 31270 31299 31304 31399 31400 31587
31591 31608 31612 31627 31629 31645 31675 31725 31764 31781
31974 32027 32035 32036 32046 32357 32594 32611 32860 32902
32933 32937 32938 32979 32989 33054 33066 33073 33095 33105
33221 33288 33502 33502 33522 33528 33529 33538 33592 33596
33636 33739 33739 33881 33957 34028 34083 34084 34108 21185
23138 23272 26253 26893 27107 29649 29828 30007 30611 30723
30947 30964 31001 31189 31202 31202 31210 31270 31286 31296
31299 31304 31335 31607 31675 32021 32021 32035 32357 32611
32933 33054 33077 33079 33386 33469 33583 33698 33795
Jerry DeLisle
18923 18923 25061 30408 30532 30681 30779 31162 31201 31251
31251 31306 31495 31609 31716 31812 31813 32002 32223 32360
32361 32432 32545 32611 32612 32644 32760 32928 33055 33055
33055 33152 33162 33162 33162 33317 33317 33317 33544 33609
33795 33849 34175 34209 34227 34325 34540 30162 30435 30910
30918 31051 31052 31052 31052 31052 31099 31099 31199 31201
31207 31366 31395 31501 31532 31880 31922 31964 32235 32446
32456 32456 32456 32554 32611 32678 32702 32752 33039 33055
33055 33055 33225 33225 33253 33253 33253 33253 33307 33400
33421 33672 33795 33985 33985 33985 34291 34411 34427 34560
Steve Ellcey
30432
Bernhard Fischer
27698 31546
Daniel Franke
17711 20373 22359 24633 24784 25094 25104 28004 29876 29962
30947 30950 31129 31234 31253 31265 31473 31639 31639 31639
31760 31818 31919 31929 31930 32001 32002 32359 32467 32633
32634 32704 32710 32727 32760 32778 32867 32876 32879 32905
32906 32945 34324 34495 34559 34536 34533 34532 22359 30947
34533
Richard Guenther
30223 32140
Dominique d'Humieres
33733
Jakub Jelinek
22244 32550 33739 34247 34359 34359 22244
Steven G. Kargl
30278 30605 30683 30799 31244 32223 32899 32942 32968 32969
34192 34203 34203 34230 33583
Thomas Koenig
30389 30415 30533 30814 30865 30869 31732 32731 32954 32972
33683 34305 34549 30512 30525 30533 30690 30765 30814 30814
30981 31196 31618 32217 32336 32858 32972 32977 33985 34370
34323 34405 34566 34594 22423 33298
Asher Langton
20441
Manuel Lopez-Ibanez
30437
H.J. Lu
33276
Lee Millward
32222 32238 32242 32823
Brooks Moses
18769 28068 30235 30371 30381 30420 30881 30933 30948 30953
31050 31194 31216 31427 31972
Adam Nemet
32495
Rainer Orth
32345
Andrew Pinski
32140
Christopher D. Rickett
32579 32599 32600 32600 32600 32601 32627 32732 32732 32797
32800 32801 32801 32804 33020 33040 33215 33395 33497 33760
32600 32600 32600 32627
Roger Sayle
30400 30404
Tobias Schlueter
17711 18937 20851 20897 25076 30478 31144 31250 31266 31471
32147 33198 33254 33269 33626 33689 33727
Paul Thomas
20863 20882 20896 23232 27996 27998 28172 29389 29389 29396
29397 29400 29507 29606 29712 29786 30283 30284 30319 30400
30407 30408 30410 30476 30481 30514 30531 30554 30554 30554
30625 30626 30660 30660 30746 30865 30870 30871 30872 30873
30875 30876 30878 30879 30880 30882 30883 30887 30888 30922
31011 31086 31154 31160 31163 31193 31197 31200 31204 31205
31209 31211 31214 31214 31215 31217 31219 31222 31229 31257
31258 31292 31293 31320 31404 31474 31483 31494 31540 31550
31564 31608 31608 31609 31620 31630 31630 31692 31711 31726
31867 31879 31994 32047 32088 32103 32156 32157 32236 32298
32302 32464 32472 32526 32613 32634 32634 32665 32682 32689
32703 32724 32727 32827 32842 32875 32880 32881 32903 32926
32962 33233 33241 33254 33334 33337 33370 33376 33499 33541
33541 33542 33542 33542 33550 33554 33566 33568 33646 33664
33686 33727 33733 33749 33811 33850 33897 33986 34008 34080
34231 34335 32129 31487 31213 33888 33998 34438 30284 30626
Tom Tromey
27107
Janus Weil
32535
We keep track of the current gfortran bugs on the the Gfortran
wiki with various links to Bugzilla:
Bug Bashing (status 31 December 2007; incl. some double counting)
Regressions 2 PRs, 1 assigned
PRs where a valid program is rejected or wrong code is produced
15 PRs, 6 assigned (Fortran 95 with default options)
PRs where wrong code is produced 10 bugs (1 assigned)
[often triggered for special cases only]
PRs where a valid Fortran program is not accepted (internal compiler
error, wrongly rejected), wrong code is produced or where the
compile time or memory is excessively high 33 bugs (8 assigned)
PRs where invalid code is accepted or gives an internal compiler
error 26 bugs (2 assigned)
PRs which show where the diagnostics can be improved 73 bugs
(2 assigned)
All reports (bug reports, feature requests etc.): 245 reports
It should be noted, given the complexity of Fortran 95, that these
are very few bugs and that the majority of the reports in Bugzilla
are for improvements or new features.
Gfortran Maintainers December 31st 2007