Re: fortran 2003 compiler
- From: "Tobias Burnus" <burnus@xxxxxxxx>
- Date: 2 Mar 2007 05:21:27 -0800
Hi,
On Feb 27, 4:01 pm, "nobat" <sk.no...@xxxxxxxxx> wrote:
The worst part is that "Compiler Companies" don't have any public
roadmap/timeframe for implementation of the ISO standard.
I think there are two reasons: One is that implementing Fortran 2003
is a major revision and it is hard to predict how long it will take
until everything is implemented. The other is that they don't want to
make commitments which they cannot fulfil and they don't want to
release precious (?) internal business information (what ever is meant
by this). Besides, I have seen so many deadlines which were shifted,
and shifted, and shifted again that I don't see any point in
publishing time frames. For some features, however, one can say that
they are planned for the next release (especially if they are already
implemented in the developer version).
This lack of public commitment makes the things complicated: When you
write a development/implementation plan, you don't know whether to
design your software using "a special feature of Fortran 2003 which is
an ISO standard or not?"
Well, the decision is easy: If you only target few systems, see what
your compiler supports. If you want to support most systems, stick to
Fortran 90/95 which essentially all compiler support. For selected
Fortran 2003 features, check whether enough compiler support it.
I think all Fortran compiler vendors to plan to fully support Fortran
2003, it only takes time. And sometimes, other features might be
implemented first due to popular demand. I think submodules (which
exists only as technical report (TR) and is not part of F2003) will be
implemented in many compilers before they fully support Fortran 2003.
(Currently, however, no compiler support submodules -- to my
knowledge.)
For my projects, I usually stick to Fortran 90/95; for my smaller
utility programs I use the Fortran 2003 command-line support (which
can be mimicked by the f2kcli module on most F77/f90 compilers - or
simply commented out). An alternative is to enable the support of
certain features based on ./configure tests.
Note that most compilers support more or less the same parts of the
Fortran 2003 standard: Command line support, volatile/import/value and
allocatable compounds are supported by a lot of compilers; IEEE and
ISO C binding is coming but not yet widely supported. The object-
orientated stuff will take longer.
and ask them "excuse me can you let me know whether polymorphic types
(as an example) will be implemented in 2007 or 2008"
For some projects such as gfortran it depends on interest of a
developer (all do it in their spare time); their interest can be
directed by popular demand and by the number of other compilers which
support this feature. (Popular demand and many competing compilers
which support a given feature also speeds up the development for
commercial compilers.)
Note that other things besides the full coverage of Fortran 2003 are
also important: Generating correct code, accepting all valid Fortran
90/95 codes, and producing good warnings/errors is probably ranked
higher by most users. For several higher speed of the generated code
is also more important. And some users even prefer having legacy
support such %VAL() or Cray pointers to Fortran 2003 as there exists
tons of code which uses these extensions.
If you want to have polymorphic types, you are free to implement it in
gfortran yourself. Alternatively, if you finding a student who wants
to it as as Google Summer of Code project [student application
deadline March 24], it would also work. (Actually, if someone else
finds a student who want to participate at Google's Summer of Code,
feel free to direct him to the GNU Fortran compiler. Especially
regarding Fortran 2003 there are many projects possible.)
Tobias
PS: In terms of features, user code actually also develops quite
slowly. I was recently looking for code which uses ISO C Binding to
test the support of Bind(C) in gfortran [not yet in the 4.3 developer
version, but only in the fortran-experiments branch]. However, I could
only find two programs which actually use it: CP2K and F03GL. If
someone has some Bind(C) code, I'm interested (either in testing it or
in receiving bugreports). If you don't want to build the code
yourself, I can also offer a x86-64 compiled binary. Note procedural
pointers are not supported by gfortran, yet.
.
- Follow-Ups:
- Re: fortran 2003 compiler
- From: nobat
- Re: fortran 2003 compiler
- From: Dan Nagle
- Re: fortran 2003 compiler
- From: Beliavsky
- Re: fortran 2003 compiler
- Prev by Date: Re: Array size by module variables
- Next by Date: Re: fortran 2003 compiler
- Previous by thread: Re: fortran 2003 compiler
- Next by thread: Re: fortran 2003 compiler
- Index(es):
Relevant Pages
|