Projects for inclusion into gfortran-4.6
This page contains the projects proposed for gfortran-4.6, with a short description, state of readiness, impact and person to contact. Please add your own projects right there, with a separate page or a short paragraph.
Note: This page has been moved from GCC 4.4 - not all items might be up to date.
Patch tracker - pending patches, which might require some work
4.5 action items - some are solved, some still require work
Array Descriptor Update
Formal/actual argument checking for same file procedures
The following item is mostly solved with -fwhole-file, which is enabled by default in 4.6; however, the checking can still be improved and some whole-file/checking bugs are still to be fixed.
There are a large number of PRs associated with this. The idea would be to add a formal_arg_list to gsymbols. The main wrinkle is to deal with actual arguments for references to procedures that have not yet been seen. (Paul Thomas, paulthomas2 at wanadoo dot fr) PR26227 (refers to PRs 28809, 28443, 27587, 27586 and 27594), PR27318 and PR24878
The idea developed somewhat and I did post a first go before we got into the F95 bug-bashing frenzy. ([https://gcc.gnu.org/ml/fortran/2007-07/msg00151.html]). This parsed the entire code first and contained all the namespaces in a global namespace. global resolution and translation were done in sequence. This caused a relatively small number of regressions that I did not have time to track down.
Status: "-fwhole-file" was implemented on 2009-03-30: https://gcc.gnu.org/viewcvs?view=rev&revision=145314.
Revamp of read_module
This is nothing more than an idea right now that is intended to deal with PR25708. (Paul Thomas, paulthomas2 at wanadoo dot fr)
13th November 2008 - Is this still an issue?
Find a way to handle STDCALL on Win32
However, all attributes should be supported, cf. PR41209
Range checking for all array intrinsics
At the moment, not all array intrinsics do proper bounds checking; see PR 34670. (Thomas König, tkoenig at gcc dot gnu dot org)
Add more runtime checking
I want to add more runtime checking capabilities to gfortran, such as a memory usage and memory leaks checking (both implemented by instrumenting memory allocation and deallocation routines in the library). To do that, it would make sense IMHO to regroup all runtime checking options (which all have the common trait that they slow down execution) under a common name. For example, -fbounds-check would become -fcheck=bounds; you could specify -fcheck=bounds,memusage,memleak or -fruntime-check=all.
Status: -fcheck=<all|bounds|array-temps|recursive|do> is done. memusage and memleak soon.
Better debug information
gfortran is has still some weak points at emitting debug information. (Lot of fixes were done by Jakub Jelinek. Some work started by Steven Bosscher [is he still working on this?].)
Parameterized derived types
I will post an outline design for this; first for discussion, then, hopefully, for Sa Liu to implement. (Paul T)
Sa Liu left on maternity leave before this came to fruition - certainly 4.5 and we need to renew contact with Sa, after a decent interval.
F2003 I/O Stubs
Install stubs in the frontend to accept all new I/O features and parameters. Start implementing in the run time library. Partially done. Missing are:
arguments can be of any kind PR29602
Implement round= specifier and r* edit descriptors PR35862
Real implemention of asynchronous I/O PR25829
F2003 OOP - type extension, classes and the select type construct
Integration of libcpp into gfortran
Fix some longstanding bugs and issues with preprocessing.
use the libcpp-interface instead of invoking cc1 (still using traditional rules, fixes PR18428, does not require any changes to libcpp).
implement tracking of Fortran-dependencies (INCLUDE-statements, modules and their respective USE-association), either in libcpp or gfortran, depending on the mkdeps-API exposed by libcpp (implements PR31588)
Search /usr/include and other system include directories (PR35707)
(Daniel Franke, email@example.com)