1 Jan 2006 03:10
gfortran 2005 year end stats
Steve Kargl <sgk <at> troutmask.apl.washington.edu>
2006-01-01 02:10:49 GMT
2006-01-01 02:10:49 GMT
The following stats do not capture the numerous hours of
code review, emails, bug chasing and reduction, and IRC
discussions that concern gfortran. Although the stats
suggest that a majority of the commits and patches are due
to the effort of a small handful of individuals, in fact over
50 different individuals are credited with a patch. In 2005,
gfortran has made tremendous strides in becoming a full
feature Fortran 95 compiler. If the development effort can
be sustained, 2006 promises to be a significant year for
gfortran.
Gfortran 2005 Year End Stats
374 commits in gcc/fortran
126 commits in libgfortran
350 PR's closed
(The above may not reflect all PR's related to gfortran. For
example, middle and back end bugs reported against gfortran
may not be properly counted here.)
The condense list of commits and the PRs in gcc/fortran are:
55 Tobias Schlueter
16907, 18525, 18990, 19182, 19194, 19195, 19479, 19543,
19673, 20059, 20178, 20323, 20361, 20467, 21260, 21912,
22010, 23420, 23661, 23765, 24008, 24404, 24643
50 Steven G. Kargl
17792, 19168, 19589, 19754, 19936, 20058, 20786, 21257,
21375, 23065, 23516, 24005, 24636, 24917, 25055, 25078,
(Continue reading)
>
> Could you give us a hint at what all the semantics you would want to
> change with this option? Are their any code bases that you're trying
> to compile? Compilers that you're trying to be compatible with?
Yes, although I'd like to think of it as being:
--do-what-i-said-given-the-semantics-specified-for-the-target
More specifically for example:
- enable the specification of a null-pointer value, and negative integer
pointer conversions. (i.e. what does (int *)-2 + (int *)0 mean?) Thereby
enabling a target which may concurrently map their registers to low-order
addresses and be able define NULL as being some value other than 0.
- enable the specification of null-pointer and generalized ordered pointer
comparison semantics. (i.e. what does *a <= *b | *c >= (int *)0 mean?)
Thereby being able to dereference 0 as possibly being r0 without presuming
code execution is halted or have to resort to assembler; and/or determine
if an address is within the range of some memory region bounds without
having to explicitly cast pointers to integers, which may not be the right
thing to do for targets which support differently sized pointers and
integers, or who's pointers may have different arithmetic semantics than
RSS Feed