Gfortran has achieved many milestones this year and hopefully the
contributors can continue to move forward with bug fixes, conformance
to Fortran 95 standard, and the implementation of Fortran 2003 features.
A few highlights from the past year are:
1) Jakub Jelinek committed the front end support for OpenMP 2.5.
2) Erik Edelmann and Paul Thomas have implemented allocatable
components (also known as TR 15581).
3) Paul Thomas has implemented the array-valued TRANSFER intrinsic
and an inline version of DOT_PRODUCT.
4) Roger Sayle has improved the processing of WHERE statements and
blocks. This included improved dependency analysis of array
indices and the use of single bits to construct masks.
5) Jerry DeLisle added support for the Fortran 2003 streaming IO
extension.
6) Francois-Xavier Coudert implemented the use of a optimized BLAS
library (-fexternal-blas) for matrix operations such as matmul
rather than the built-in algorithm.
7) Several Fortran 2003 feature have be added. These include
VOLATILE, VALUE and PROTECTED statement/attribute, IMPORT, and
the ISO_FORTRAN_ENV intrinsic modules.
8) Thomas Koenig implements the Intel 4-byte record marker scheme,
which is now the default for unformatted files so that gfortran
is compatible with g77 and most other compilers.
There are, of course, many other improvements to gfortran. The
gfortran developers (at least the one writing this text) wish to
thank all those who have tested and submitted feedback (i.e., bug
reports). As always, the gfortran developers encourage fresh blood
to take a stab at fixing a bug or implementing missing functionality.
As of this writing, I am aware only two bugs in gfortran that
prevent full (unbuggy) support of Fortran 77. These involve
an implied do-loop in a data statement with more 65K elements,
and nested implied do-loops in a data statement. See
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19925
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23232
The gfortran wiki has quick links to important bugs if someone
has an inclinations to attack a bug. See the wiki for
# Bug Bashing (status 24th November 2006)
* ICE-ON-VALID-CODE, REJECTS-VALID & WRONG-CODE 28 bugs (13 assigned)
* ICE-ON-INVALID-CODE & ACCEPTS-INVALID 30 bugs (2 assigned)
* DIAGNOSTIC 41 bugs (6 assigned)
There were 420 commits to the gfortran front end in 2006. A ChangeLog
for a multi-author patch is credited to the first listed name. The
number of commits by committer are
100 Paul Thomas
52 Francois-Xavier Coudert
33 Steven G. Kargl
27 Brooks Moses
25 Roger Sayle
24 Tobias Burnus
18 Erik Edelmann, Tobias Schlueter
17 Jakub Jelinek, Thomas Koenig
13 Jerry DeLisle
9 Kazu Hirata
8 Andrew Pinski
7 Bernhard Fischer, H.J. Lu
5 Richard Guenther, Asher Langton
4 Richard Henderson
3 Rafael Avila de Espindola, Daniel Franke, Feng Wang
2 Steven Bosscher, Toon Moene, Volker Reichelt
1 Karl Berry, Janne Blomqvist, Per Bothner, Bud Davis, Steve Ellcey,
Wolfgang Gellerich, Kaveh R. Ghazi, Jan Hubicka, Geoffrey Keating,
Kaz Kojima, Joseph S. Myers, Diego Novillo, Carlos O'Donell,
Gerald Pfeifer, Richard Sandiford, Danny Smith, Mike Stump
There were 133 commits to libgfortran in 2006. The number of
commits by committer is as follows:
46 Jerry DeLisle
34 Francois-Xavier Coudert
14 Thomas Koenig
8 Janne Blomqvist, Steven G. Kargl
4 Tobias Burnus, Paul Thomas
3 Paolo Bonzini, Jakub Jelinek
2 Roger Sayle, Danny Smith
1 John David Anglin, Rainer Emrich, Richard Guenther,
Carlos O'Donell, Dale Ranta
Within these commits, over 450 problem reports as listed in Bugzilla
were fixed. The PRs listed in ChangeLogs were fixed by the following
individuals.
John David Anglin 27254
Paolo Bonzini 25259, 26188
Tobias Burnus 29452, 29625
Janne Blomqvist 25828, 25949, 27919
Steven Bosscher 27378, 28439, 29101
Tobias Burnus 23994, 27546, 27546, 27546, 27588, 28224, 28585, 29452,
29601, 29657, 29711, 29806, 29962, 39238
FX Coudert 16580, 18791, 19777, 20460, 20892, 21435, 23862, 24285,
24518, 24549, 24685, 24903, 25425, 25681, 26025, 26540,
26551, 26712, 26769, 26801, 27320, 27478, 27524, 27552,
27553, 27588, 27874, 27895, 27958, 27965, 28081, 28094,
28129, 28163, 29067, 29210, 29288, 29391, 29489, 29565,
29711, 29713, 29810, 29892,
Bud Davis 21130, 28974
Jerry DeLisle 17741, 19101, 19260, 19261, 19262, 19310, 19904, 20257,
22423, 24268, 24459, 25289, 25545, 25598, 25631, 25697,
25828, 25835, 26136, 26423, 26464, 26499, 26509, 26554,
26661, 26766, 26880, 26890, 26985, 27138, 27304, 27360,
27575, 27634, 27704, 27757, 27954, 28335, 28339, 28354,
29053, 29099, 29277, 29563, 29752, 30005, 30014, 30145,
30200
Erik Edelmann 16136, 20541, 23675, 24266, 25093, 25217, 25716, 25806,
26201, 28416, 29393, 29630, 29679
Bernhard Fischer 21061, 24767, 24783, 25486, 29537
Richard Guenther 30115,
Jakub Jelinek 24685, 25324, 25938, 25984, 26224, 26246, 26316, 26769,
27415, 27446, 27916, 28390, 28415, 29097, 2962?, 29759
Steven G. Kargl 15441, 18537, 20248, 20845, 20858, 24640, 24958, 25072,
25101, 25756, 26816, 26896, 27021, 27981, 28276, 28548,
28866, 29147, 29312, 29403
Thomas Koenig 19303, 20935, 23092, 23151, 23815, 25031, 25045, 25075,
26017, 26039, 26735, 26769, 27470, 27715, 28452, 29568,
29627, 30009, 30056, 30321
Asher Langton 24748, 25358, 27786
H.J. Lu 23634, 25619, 26041, 26064, 26885, 27351, 27662
Toon Moene 26054
Brooks Moses 29702
Andrew Pinski 21977, 24936, 26246, 26994, 29410, 29951, 29982
Dale Ranta 25577
Roger Sayle 22375, 25270, 30207
Tobias Schlueter 14771, 18540, 18937, 19259, 21203, 21918, 25392, 26277,
27457, 28817, 29441
Danny Smith 27964
Feng Wang 12456, 27552, 28213
Paul Thomas 14067, 16206, 16943, 17298, 17911, 18003, 18111, 18578,
18579, 18769, 19015, 19546, 20067, 20541, 20779, 20839,
20844, 20845, 20852, 20857, 20861, 20867, 20868, 20869,
20870, 20871, 20874, 20875, 20876, 20877, 20880, 20881,
20885, 20886, 20891, 20893, 20895, 20896, 20903, 20938,
21130, 21256, 21370, 22038, 22146, 23060, 23091, 23308,
23420, 24168, 24276, 24325, 24398, 24518, 24519, 24557,
24558, 24813, 24866, 25024, 25029, 25030, 25047, 25049,
25050, 25054, 25056, 25058, 25059, 25070, 25072, 25073,
25077, 25082, 25083, 25084, 25085, 25086, 25087, 25088,
25089, 25090, 25091, 25092, 25097, 25098, 25099, 25102,
25103, 25124, 25135, 25147, 25378, 25395, 25538, 25597,
25625, 25669, 25710, 25730, 25746, 25785, 25818, 25901,
25964, 26038, 26074, 26107, 26257, 26393, 26409, 26716,
26741, 26779, 26787, 26822, 26834, 26891, 26976, 27096,
27113, 27122, 27124, 27155, 27269, 27324, 27411, 27449,
27554, 27584, 27613, 27655, 27701, 27709, 27897, 27900,
28005, 28118, 28119, 28167, 28174, 28201, 28237, 28353,
28384, 28425, 28496, 28526, 28590, 28600, 28601, 28630,
28660, 28735, 28762, 28771, 28788, 28873, 28885, 28890,
28908, 28914, 28923, 28947, 28959, 29051, 29060, 29098,
29101, 29115, 29211, 29216, 29232, 29284, 29314, 29315,
29321, 29322, 29343, 29364, 29371, 29373, 29387, 29392,
29407, 29422, 29428, 29431, 29451, 29464, 29490, 29539,
29565, 29634, 29641, 29642, 29652, 29699, 29744, 29758,
29820, 29821, 29912, 29916, 29941, 29975, 29976, 29992,
30003, 30034, 30068, 30081, 30084, 30096, 30190, 30202,
30236, 30237, 30273
--
Steve