From: Tobias Burnus on
On 11.01.2010 21:51, wrote Steve Lionel:
> On 1/11/2010 12:50 PM, Richard Maine wrote:
>>> Since you asked: what about allocatable length characters?
>> 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/

Whereas gfortran 4.5 only has allocatable scalars so far. For an
overview about the Fortran 2003 features supported by gfortran, see
http://gcc.gnu.org/wiki/Fortran2003Status
and for a rather complete list about what has happened the last year,
see the release notes for the upcoming GCC/gfortran 4.5.0 release
http://gcc.gnu.org/gcc-4.5/changes.html

While someone was working on allocatable-length characters, real life
interfered and thus it missed the deadline for 4.5. I agree that both
remaining allocatable features are important. (Whether more or less than
other missing features - or those which got implemented "instead",
depends on the individual needs.)


On 11.01.2010 18:50, wrote Richard Maine:
> 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.

So far the claims have been only positively (now feature X is supported)
rather than negatively (now only X remains), but the usage of list has
always the danger of focusing too much on getting an item done -
forgetting about unlisted items or corner cases. On the other hand, they
help to structure the work and to make comparing easier.

Questions about what should be implemented first fall into the same
category: They are useful for prioritizing, but should not be used
argument for implementing only a subset. ("Comprehensive Fortran 2003
support: We have implemented _all_ highly wished features, covering 99%
of the user needs (by implementing three features)".)

By the way, how do you (let's say as vendor) decide that you support all
of Fortran 2003? It seems to be a rather difficult problem; surely, you
follow some list (e.g. the Fortran Forum's one), you may look at the
"what's new" list of the Fortran 2003 standard, but it is very easy to
miss minor changes, e.g. that types without components are allowed -
something which is a not very visible change in the standard. There is a
huge number of such changes, several of which might get easily missed.


In conclusion, I really like the list created/collected by Ian Chivers:
It helps to compare compilers, helps to decide what one can already use,
and it puts some pressure on vendors to make progress. But as with all
simplifications, one should take them with a pinch of salt - in order to
not miss the global picture - or items which are not on the list.

Tobias
From: jwm on
On Jan 11, 1:51 pm, Steve Lionel <steve.lio...(a)intel.invalid> wrote:
> 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, seehttp://software.intel.com/en-us/articles/intel-fortran-compiler-suppo...
>
> --
> 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

I know ifort supports this feature, although it's still buggy (the
last bug I notified you about was the one related to the length being
kept fixed when combined with the structure constructor).

None of the other compilers I have installed support that feature, so
I'm usually unsure if some bugs I encounter are really bugs or if the
code is invalid.

What I really like about ifort's implementation, is the fact it works
without enabling reallocation on assignment.
From: Richard Maine on
Tobias Burnus <burnus(a)net-b.de> wrote:

> On 11.01.2010 18:50, wrote Richard Maine:
> > 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.
>
> So far the claims have been only positively (now feature X is supported)
> rather than negatively (now only X remains),

I wasn't referring to GFortran with that comment. That's why I said "a
compiler". Yes, I have seen claims that "now only X remains", but they
were for other compilers.

--
Richard Maine | Good judgment comes from experience;
email: last name at domain . net | experience comes from bad judgment.
domain: summertriangle | -- Mark Twain
From: steve on
On Jan 11, 5:42 pm, nos...(a)see.signature (Richard Maine) wrote:
> Tobias Burnus <bur...(a)net-b.de> wrote:
> > On 11.01.2010 18:50, wrote Richard Maine:
> > > 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.
>
> > So far the claims have been only positively (now feature X is supported)
> > rather than negatively (now only X remains),
>
> I wasn't referring to GFortran with that comment. That's why I said "a
> compiler". Yes, I have seen claims that "now only X remains", but they
> were for other compilers.
>

I believe you may have misinterpreted what Tobias wrote. He
was not making a statement specific to gfortran but to Fortran
vendors in general. With a new standard, vendors will start
advertising the newly implemented features. As time passes,
and the vendor supports more and more features, the vendor
switch to stating which features are not implemented.

--
steve

From: Steve Lionel on
On 1/11/2010 5:57 PM, jwm wrote:

> I know ifort supports this feature, although it's still buggy

Yup, but getting better each month.

> What I really like about ifort's implementation, is the fact it works
> without enabling reallocation on assignment.

That's the way it works *now*. When we first released 11.1 with this
feature, you needed the switch. When this came to my attention I took
out my baseball bat - er - had a quiet word with the developers, and
they fixed it. My argument was that we have the switch (-assume
realloc_lhs) for the benefit of programs written to F90/F95 that used
allocatable arrays and were required to allocate them. Allocatable
character strings were new and the implicit reallocation was the best
part of it, so reallocation should be the default. Sometimes developers
get a bit too close to the code and need help seeing the bigger picture....

While on the subject of allocatable characters, I've run across more
than one customer who thought that automatic allocation should happen on
a READ. Nice idea, but that's not the way it's written in the standard.

--
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