On Sat, Jun 23, 2007 at 10:18:48PM -0700, Steve Kargl wrote:
All,
The attached files represent nearly 2 years of work from
Christopher D. Rickett with small contributions from
Tobias Burnus, Francois-Xavier Coudert, and myself. Chris
has done the majority of the work (probably 98%). The
remaining contributions from Tobias, FX, and me are mostly
confined to creating the fortran-experiments branch, merging
trunk into the F-E branch, fixing conflicts, and fixing
differences in Chris' original coding style and the GNU Coding
standard. Others may have given Chris feedback over the last
2 years, I simply do not remember the names.
Chris has implemented most of Section 15 of the Fortran 2003
Standard entitled "Section 15: Interoperability with C". This
is a major new feature of Fortran 2003 that permits a standard
conforming method to mix Fortran and C code in a project. There
are a few missing features, which require other Fortran 2003
features to be implemented. For example, Chris has not written
the code to deal with Fortran 2003's procedure pointer. Fortunately,
a Google SoC project is addressing the procedure pointer issue.
I am fully aware that there are still a few minor whitespace issues,
misformatted comments, and typos in the comments. If these are
your only review comments, then send them to me directly. I will
continue to fix these issues *after* the patch has been committed
to trunk. I am interested in technical reviews and bootstrap
testing on as many targets as possible.
I've attached 6 files:
icb_fortran_2.diff -----> diff of F-E and trunk of gcc/fortran
icb_fortran_2.log -----> ChangeLog entry for gcc/fortran/ChangeLog
icb_libgfortran_2.diff -> diff of F-E and trunk of libgfortran
icb_libgfortran_2.log --> ChangeLog entry for libgfortran/ChangeLog
icb_tests_2.diff -------> diff of F-E and trunk for gcc/testsuite/gfortran.dg
icb_tests_2.log --------> ChangeLog entry for gcc/testsuite/ChangeLog
I have bootstrapped and regression tested the F-E branch on
i386-*-freebsd and x86_64-*-freebsd. Chris has been testing
his patch on either MacOS X or Darwin (I can't remember which).
I plan to commit this patch or a slightly modified version (based
on feedback) soon after Mark lifts the code freeze for the stage 1
to stage 2 transition.
I've attached 3 new diff files that include fixes for issues raised
by Andreas. I plan to commit these patches tomorrow night (PDT) if
no one raises additional issues. The patches have been regression
tested on i386-*-freebsd and amd64-*-freebsd.
If you want to regression test the patches, you CANNOT use 'svn switch'
to the fortran-experiments branch. It is a long sordid story, filled
with deceit and ugly betrayal. To test, you need to apply the diffs
to trunk by doing
cd gcc/fortran
patch < ~/icb_fortran_2.diff
cd ../../libgfortran
patch < ~/icb_libgfortran_2.diff
cd ../gcc/testsuite/gfortran.dg
patch < ~/icb_test_2.diff
After testing,
svn revert -R gcc/fortran
svn revert -R gcc/testsuite/gfortran.dg
svn revert -R libgfortran
svn status gcc/fortran | awk '{print $2}' | rm
svn status gcc/testsuite/gfortran.dg | awk '{print $2}' | rm
svn status libgfortran | awk '{print $2}' | rm
find . -name \*.orig | xargs rm