Missing 2008 Gfortran Status Report

Steve Kargl sgk@troutmask.apl.washington.edu
Sun Dec 13 23:00:00 GMT 2009


All,

On IRC today, discussion for the 2009 GFortran Status Report was
conducted.  It was noted that the 2008 report was missing, and 
indeed, I never posted the reported after I completed it.  So,
in the spirit of "Late is better than never", here's the the 
old report.

                    (Belated) 2008 GFortran Status Report

   The gfortran developers (we) have closed another successful year
of development and eagerly look forward to the challenges of the New
Year.  This Report is broken into four distinct sections.

Acknowledgments:

   We are grateful that the user community find gfortran to be a useful
Fortran compiler and that they are willing to provide both positive and
negative feedback as well as the generally high quality bug reports.  In
particular, we appreciate that the community appears to understand that
we are a small group of volunteers who try to address bug reports in a
timely manner and who bring new features to gfortran as time permits.

   There are two groups of individuals that deserve a special acknowledgment
for their input.  First, Jack Howarth, Dominique d'Humieres, and Joost
VandeVondele are relentless in testing patches for bug reports and testing
code submitted with bug reports.  Often times, their testing revealed a
missed corner case or a target specific flaw in a tentative patch.  We
realize that several others are continually testing the progress gfortran,
but these individuals' contributions provide valuable, immediate feedback.
The second group is the cast of characters in the comp.lang.fortran 
newsgroup.  Richard Maine, James Van Buskirk, Robert Corbett, Gordon Sande,
Dick Hendrickson, John Harper, and several others whose name escape 
me at this time.  These people provide useful discussion and insight into
the interpretation of the Fortran Standard as well as provide small 
programs that torture the corners of gfortran.

Personnel:

   The gfortran developers are a small group of people that is in constant
flux.  In the past year, Steve Kargl took a nearly 9 month hiatus from
contributing and reviewing patches.  During January of 2009, Steve has
returned as time permits to the reviewer/contributor ranks.  After years
of contributions, Francois-Xavier (FX) Coudert has decided to take a break.
FX has made the correct decision to put family and work (and sanity) before
gfortran.  Another long time contributor, Bud Davis, has also indicated that
he too has little time for gfortran at the moment, and he's decided to take
a hiatus.  We, of course, wish them the best in their future endeavors, and
would welcome them back in a heart beat.

   There is also good news and new blood in the group.  Mikael Morin and 
Janus Weil have become regular contributors to the project.  Due to
the high quality of their patches, the gfortran maintainers requested the
GCC Steering Committee to grant reviewer status to them, which they gladly
accepted.  In addition to Mikael and Janus, long time contributors Daniel
Franke and Daniel Kraft also were elevated to the reviewer rank.  Dennis
Wassel started down the road of contributor, but time constraints have 
limited his involvement.

   As can be inferred from the above, we are constantly looking for new
contributors to step forward.  If you have an interest in compiler 
development or skills in technical writing or just a general interest 
in Fortran, we would welcome you at fortran@gcc.gnu.org. 

The Future:

   Several of the gfortran developers held an meeting on the #gfortran
IRC channel to discuss the future.  The action items from that meeting
are listed at http://gcc.gnu.org/wiki/GFortran45_actions.   A casual
glance at this list reveals that we are pursue the features found in
the Fortran 2003 Standard.

The Year Summary:

The following is a short list of new features added to gfortran.  These
are slated to be available in the upcoming 4.4.0 release.

 * gfortran now employs libcpp directly instead of using cc1 as an
   external preprocessor.  The -cpp option was added to allow manual
   invocation of the preprocessor without relying on filename extensions.
 * The -Warray-temporaries option warns about array temporaries generated
   by the compiler, as an aid to optimization.
 * The -fcheck-array-temporaries option has been added, printing a
   notification at run time, when an array temporary had to be created for
   an function argument.  Contrary to -Warray-temporaries the warning is
   only printed if the array is noncontiguous.
 * Improved generation of DWARF debugging symbols
 * If using an intrinsic not part of the selected standard (via -std= and
   -fall-intrinsics) gfortran will now treat it as if this procedure were
   declared EXTERNAL and try to link to a user-supplied procedure.
   -Wintrinsics-std will warn whenever this happens.  The now-useless option
   -Wnonstd-intrinsic was removed.
 * The flag -falign-commons has been added to control the alignment of
   variables in COMMON blocks, which is enabled by default in line with
   previous GCC version.  Using -fno-align-commons one can force commons to
   be contiguous in memory as required by the Fortran standard, however,
   this slows down the memory access.  The option -Walign-commons, which is
   enabled by default, warns when padding bytes were added for alignment.
   The proper solution is to sort the common objects by decreasing storage
   size, which avoids the alignment problems.
 * Fortran 2003 support has been extended:
   o Wide characters (ISO 10646, UCS-4, kind=4) and UTF-8 I/O is now
     supported (except internal reads from/writes to wide strings).
     -fbackslash now supports also \unnnn and \Unnnnnnnn to enter Unicode
     characters.
   o Asynchronous I/O (implemented as synchronous I/O) and the decimal=,
     size=, sign=, pad=, blank=, and delim= specifiers are now supported in
     I/O statements.
   o Support for Fortran 2003 structure constructors and for array
     constructor with typespec has been added.
   o Procedure Pointers (but not yet as component in derived types and as
     function results) are now supported.
   o Abstract types, type extension, and type-bound procedures (both
     PROCEDURE and GENERIC but not as operators). Note: As CLASS/polymorphyic
     types are not implemented, type-bound procedures with PASS accept as
     non-standard extension TYPE arguments.
 * Fortran 2008 support has been added:
   o The -std=f2008 option and support for the file extensions .f2008 and
     .F2008 has been added.
   o The g0 format descriptor is now supported.
   o The Fortran 2008 mathematical intrinsics ASINH, ACOSH, ATANH, ERF,
     ERFC, GAMMA, LOG_GAMMA, BESSEL_*, HYPOT, and ERFC_SCALED are now
     available (some of them existed as GNU extension before).  Note: The
     hyperbolic functions are not yet supporting complex arguments and the
     three- argument version of BESSEL_*N is not available.
   o The bit intrinsics LEADZ and TRAILZ have been added.

The combined fortran/ChangeLog and libgfortran/ChangeLog reduce to the
following basic stats.  As of 26 Dec 08, there have been 506 commits
to the GCC source repository.  These commits addressed at least 360  
bug reports in bugzilla.  It is known that a few additional bug reports
have been patched and closed, but the committer forgot to record the
PR number in ChangeLog.  Additionally, several bug reports were closed
as duplicates, and these are not included in the 360 PR reported here.
The number prior to a person's name indicates the number of commits
to the source repository.  The 5 digit numbers are the PR's fixed by
the person.

88 Jerry DeLisle
   25829 25829 25829 28655 28655 28655 31610 33268 34325 34387 34432
   34556 34659 34676 34722 34782 34795 34876 34907 34954 34974 34990
   35036 35059 35059 35063 35132 35184 35223 35617 35627 35632 35699
   35724 35724 35840 35863 35863 35863 35863 35882 35882 35892 35991
   36094 36131 36202 36420 36420 36421 36422 36422 36515 36515 36538
   36546 36582 36657 36676 36725 36857 36895 37083 37228 37228 37294
   37301 37472 37472 37498 37498 37498 37498 37707 37707 37803 37834
   37863 37988 38097 38285 38291 38291 38291 38398 38398 38425 38430
   38504 

74 Tobias Burnus
   29952 29952 32600 32600 32616 34557 34654 34655 34658 34660 34662
   34665 34759 34760 34763 34796 34848 34848 34899 34901 34907 34908
   34980 34997 35033 35093 35721 35830 35840 35863 35882 36117 36132
   36132 36276 36316 36342 36437 36462 36476 36495 36518 36795 36824
   36825 36825 36909 36909 37025 37076 37201 37201 37400 37420 37504
   37580 37626 37821 38065 38095 38160

56 Paul Thomas
   32315 32580 32760 32795 33295 34143 34371 34396 34396 34429 34429
   34431 34471 34476 34537 34545 34672 34681 34704 34714 34784 34785
   34813 34820 34854 34861 34872 34875 34896 34910 34945 34975 35470
   35474 35680 35698 35702 35740 35743 35745 35756 35759 35769 35780
   35864 35932 35937 35944 35945 35946 35947 35959 35997 36233 36374
   36454 36526 36700 37011 37274 37445 37583 37597 37706 37723 37735
   37787 37794 37836 37926 37926 38033 38119 38171 38602 

47 Francois-Xavier Coudert
   25477 25829 28655 32512 32812 32841 32972 33197 33197 33197 33387
   34729 34868 34952 34956 35037 35150 35355 35524 35682 35685 35994
   36059 36162 36176 36186 36197 36215 36257 36265 36319 36319

46 Daniel Kraft
   27997 29835 29835 30239 31822 32095 34228 33141 35681 35723 35770
   35837 35846 36112 36214 36403 36517 36492 36746 37099 37193 37199
   37411 37429 37507 37588 37605 37638 37688 37779 37779 38137

45 Thomas Koenig
   29952 32512 32972 32972 32972 32972 32972 32972 32972 34565 34670
   34670 34670 34670 34670 34671 34671 34746 34817 34838 34887 34980
   35001 35719 35960 35960 35988 35990 35990 35993 35995 36302 36341
   36341 36590 36670 36681 36773 36886 36890 37203 37753 38135 38225
   38234

22 Daniel Franke
   18428 31463 33375 33950 34202 34296 34661 34714 34858 34915 35019
   35019 35030 35152 35156 35584 36348 36355 36375 36376 36377 36457
   37032 37468 

17 Janus Weil
   35830 36275 36322 36322 36325 36361 36426 36459 36463 36592 36704
   36705 37253 37486 38289 38290 38290 38415 

16 Jakub Jelinek
   23057 24790 29215 29635 33759 35366 35662 35786 36597 36726 37536
   37839 37839 38181 

14 Mikael Morin
   35681 35820 35840 35983 36463 37469 37749 37903 37992 38113 38184
   38252 38289 38290 38487 

11 Ralf Wildenhues

10 Steven G. Kargl  19925, 33229, 36153, 36239, 36251, 37792, 37930

8  Kaveh R. Ghazi   35107

6  H.J. Lu          33375, 37123,
   Janne Blomqvist  25561, 25561, 29549, 35063, 35632,
   Richard Guenther 34706

4  Tom Tromey,
   Jan Hubicka,
   Paolo Bonzini        35457,
   Tobias Schlueter     35832,
   Manuel Lopez-Ibanez  28875, 35058, 36901

2  Steve Ellcey,
   Dennis Wassel    37159,
   Eric Botcazou    37319,
   Sebastian Pop    38262,
   Steven Bosscher  34669, 37635
   George Helffrich 23057, 35154, 35154, 35892,

1  Adam Nemet, Danny Smith,  David Edelsohn, Diego Novillo, Ian Lance Taylor,
   Sa Liu,     Julian Brown, Kenneth Zadeck, Joseph Myers,  Peter O'Gorman,
   Bud Davis          35940,
   Arjen Markus       37605,
   Jan Kratochvil     38248,
   Laurynas Biveinis  34908, 36276,
   Richard Sandiford  34686,
   Hans-Peter Nilsson 35293

Richard Guenther

   Merge from gimple-tuples-branch.

   Aldy Hernandez
   Aldy Hernandez
   Aldy Hernandez
   Diego Novillo
   Aldy Hernandez
   Aldy Hernandez
-- 
Steve



More information about the Fortran mailing list