This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [gfortran] Add malloc and free intrinsics


(I haven't been around long enough to make anything like an official interpretation on this matter, but I think my unofficial opinions might be useful, so....)

Janne Blomqvist wrote:
On Tue, Sep 27, 2005 at 09:34:17AM +0200, François-Xavier Coudert wrote:
I'd like this feature to be marked with GFC_STD_LEGACY rather than
GFC_STD_GNU.

Well, in my understanding GFC_STD_LEGACY was to be used for features we only support because they were implemented in g77.

My understanding is that this is almost correct, but should read "in g77 or other in legacy compilers". (Otherwise, it would make more sense to just call it GFC_STD_G77.)


Isn't that what we have GFC_STD_GNU for? Or in general, non-standard
intrinsics that we provide since they provide some useful
functionality that the standard by itself doesn't provide. E.g. the
unix intrinsics, extra math functions etc.

I agree with your second sentence -- GFC_STD_GNU is for non-standard things that we provide because we think they're useful.


This is, in many cases, different from things that were included in g77 because the implementers of g77 thought them useful. So, I disagree with your first sentence -- GFC_STD_GNU is _not_ for things we support just because g77 did. It should only include things from g77 that are still useful in light of Fortran-95's changes to the language.

My understanding is that GFC_STD_LEGACY essentially is "stuff we
support since it's useful for legacy code but which the current
standard we support (F95) provides in another incompatible form".

E.g. cray pointers/malloc/free vs. allocatables/pointers/(de)allocate,
and Hollerith vs. character.

Well, who knows the official definition of STD_LEGACY and STD_GNU?

Is there one?


If not, I propose the definitions I gave at the top of this post. :)

The core distinction is that GFC_STD_GNU is stuff that we hope people will use when writing new code, and GFC_STD_LEGACY is stuff that we hope they won't.


(In any case, I'll agree with Francois that malloc/free and Cray pointers should be treated the same way, whatever the end result is.)


- Brooks


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]