From: Dieter Britz on
Are there any real Fortran 2003 compilers available? What I have seen
is compilers that are said to have "most" of 2003. Or have I just not
found the right ones?
--
Dieter Britz (dieterbritz<at>yahoo.com)
From: Tobias Burnus on
On 01/11/2010 09:16 AM, Dieter Britz wrote:
> Are there any real Fortran 2003 compilers available? What I have seen
> is compilers that are said to have "most" of 2003. Or have I just not
> found the right ones?

I think the Cray has: As far as I understood it, supports all of Fortran
2003. IBM's xlf comes close, but seemingly still lacks user-defined
derived-type I/O.

See: ACM Fortran Forum's December 2009 issue,
http://doi.acm.org/10.1145/1667140.1667145
or http://fortranwiki.org/fortran/show/Fortran+2003+status (from the
August 2009 issue of ACM Fortran Forum).

(Note: I think the "N" for Cray under "international characterset" just
means that it does not support UTF-8 - but that's permitted by the
Fortran 2003 standard.)

If you talk about normal PC hardware, I think the answer is no. NAG
nagfor v5.2, Intel's ifort v11.1, and GCC's gfortran v4.5 support a lot,
but still there are many features unimplemented. Or in other words: One
can do most things one wants to do - Fortran 2003 wise - but
unfortunately one need to have the list of supported features ready to
make sure no unsupported feature slips into one's code. (Add in
addition, as the features get implemented in a slightly different order,
finding a common subset is even harder and more restrictive.)

Tobias

PS: Just for curiosity, which of gfortran's missing Fortran 2003
features do you miss most?
(Planned for 4.6 are ASSOCIATE construct, fixing bugs in the current
polymorphism support, implementation of unlimited polymorphism, and true
asynchronous I/O; what really will be implemented? - only the future can
tell, which is typical for the more erratic development of a
volunteer-based software development.)
From: jwm on
On Jan 11, 2:27 am, Tobias Burnus <bur...(a)net-b.de> wrote:
> ...
> Tobias
>
> PS: Just for curiosity, which of gfortran's missing Fortran 2003
> features do you miss most?
> (Planned for 4.6 are ASSOCIATE construct, fixing bugs in the current
> polymorphism support, implementation of unlimited polymorphism, and true
> asynchronous I/O; what really will be implemented? - only the future can
> tell, which is typical for the more erratic development of a
> volunteer-based software development.)

Since you asked: what about allocatable length characters?
From: Richard Maine on
jwm <jwmwalrus(a)gmail.com> wrote:

> On Jan 11, 2:27 am, Tobias Burnus <bur...(a)net-b.de> wrote:
> > ...
> > Tobias
> >
> > PS: Just for curiosity, which of gfortran's missing Fortran 2003
> > features do you miss most?
> > (Planned for 4.6 are ASSOCIATE construct, fixing bugs in the current
> > polymorphism support, implementation of unlimited polymorphism, and true
> > asynchronous I/O; what really will be implemented? - only the future can
> > tell, which is typical for the more erratic development of a
> > volunteer-based software development.)
>
> Since you asked: what about allocatable length characters?

That's a favorite of mine (I don't know GFortran's status on it).

That's also a simple case of a feature that I've seen be misrepresented
when people try to break down f2003 into a set of individual features
instead of an integrated whole. You'd see claims that a compiler
implemented f2003 except for a specific list of features. Allocatable
character length wasn't on the list, so one might assume it was
implemented. One would have been wrong.

I corresponded with Ian Chivers about this point (he prints my
correspondence in the latest Fortran Forum) and he added
allocatable-length characters as an explicit item in his latest feature
list.

Along the way, don't forget about allocatable scalars. One could
technically claim to have implemented allocatable-length characters but
still allow it only for arrays (back to that integrated standard versus
individual feature thing). But it is next to useless in practice if it
doens't apply to scalars.

And also don't forget about allocatation on assignment. One of the
attractions of allocatable-length characters is that they do the
"obvious" thing for assignment. Also, if one implements them without
doing allocation on assignment, then you'll find you have an
incompatible change when you later do implement the full f2003.
Allocation on assignment is conveniently fully compatible with
standard-conforming f90/f95 code because the cases where it does
anything are illegal in f90/f95. But some halfway measures would break
that compatibility; you'd end up with valid codes whose behavior
changed.

--
Richard Maine | Good judgment comes from experience;
email: last name at domain . net | experience comes from bad judgment.
domain: summertriangle | -- Mark Twain
From: Steve Lionel on
On 1/11/2010 12:50 PM, Richard Maine wrote:

>> Since you asked: what about allocatable length characters?
>
> That's a favorite of mine
>
> Along the way, don't forget about allocatable scalars.
>
> And also don't forget about allocatation on assignment. O

FWIW, ifort 11.1 has all of these. For a list of F2003 features
supported by Intel Fortran, see
http://software.intel.com/en-us/articles/intel-fortran-compiler-support-for-fortran-language-standards/

--
Steve Lionel
Developer Products Division
Intel Corporation
Nashua, NH

For email address, replace "invalid" with "com"

User communities for Intel Software Development Products
http://software.intel.com/en-us/forums/
Intel Software Development Products Support
http://software.intel.com/sites/support/
My Fortran blog
http://www.intel.com/software/drfortran