| Submitter | Tobias Burnus |
|---|---|
| Date | Sept. 1, 2010, 4:47 p.m. |
| Message ID | <4C7E8391.10501@net-b.de> |
| Download | mbox | patch |
| Permalink | /patch/63402/ |
| State | New |
| Headers | show |
Comments
Tobias Burnus wrote: > Let's see what Fortran 2013 will provide - maybe some template/macro > programming, which partially replaces CPP? During the development of the 2008 Standard we shortly discussed a Fortran approach to generic programming. However, after some debate we became convinced that we didn't have enough time (2008 was supposed to be a simple "bug fix style update" to 2003) to do it right. Perhaps Malcolm Cohen, Bill Long or Van Snyder remember some details (I do only attend about half of the meetings, and sometimes a lot happens in the one that I miss in between). Cheers,
Patch
Index: gfortran.texi =================================================================== --- gfortran.texi (revision 163738) +++ gfortran.texi (working copy) @@ -426,7 +426,7 @@ Part 3 of the Fortran 95 standard (ISO/IEC 1539-3:1998) defines Conditional Compilation, which is not widely used and not directly supported by the GNU Fortran compiler. You can use the program coco -to preprocess such files (@uref{http://users.erols.com/dnagle/coco.html}). +to preprocess such files (@uref{http://www.daniellnagle.com/coco.html}). @c --------------------------------------------------------------------- Index: ChangeLog =================================================================== --- ChangeLog (revision 163738) +++ ChangeLog (working copy) @@ -1,3 +1,7 @@ +2010-09-01 Tobias Burnus <burnus@net-b.de> + + * gfortran.texi (preprocessing): Update URL to COCO. + 2010-09-01 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Resize
Committed as obvious. The address change was announced at http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/408b5807538f0e6b though the old address is currently still valid. [Background: COCO (or conditional compilation) is a preprocessor similarly to CPP, which has been defined as Part 3 of the Fortran standard (ISO/IEC 1539-3:1999). Despite being an ISO standard, no (?) compiler vendor has implemented a preprocessor and COCO is widely unknown and almost no one uses it - thus, it might be withdrawn in the future. Dan has written a COCO preprocessor (in Fortran), which is freely available.] Tobias PS: Another not so much used standard is Part 2, which defines varying length character strings; there exist implementations (written in Fortran) for it, it has some limited usage, but also is threatened to be withdrawn. For Part 1 there is no official replacement, but CPP ("FPP") is widely used; for Part 2, Fortran 2003 provides allocatable character lengths (deferred type parameter) and (re)allocate on assignment which is a more natural replacement. Let's see what Fortran 2013 will provide - maybe some template/macro programming, which partially replaces CPP?