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