On Thu, 24 Jul 2008 10:50:56 -0700 (PDT), Tobias Burnus posted:
> Hello,
>
> Assume the following Fortran 2003 source:
>
> MODULE M
> TYPE MOD_T
> INTEGER :: I
> END TYPE MOD_T
> END MODULE M
>
> use m, only: local => mod_t
> type, extends(local) :: my_t
> end my_t
> type(my_t) :: my
>
> Does "my" contain "my%local" or "my%mod_t" ?
>
> According to NAG f95 it is "my%mod_t". I tried to read the Fortran
> standard, but I cannot get to a definite conclusion. Reading only
> "4.5.6 Type extension" I got the impression that "my%local" is
> correct. However, reading "11.2.1 The USE statement and use
> association", I'm not sure whether the parent name really changes or
> whether "local" is merely a "local identifier" for "mod_t" and thus
> the parent name stays "mod_t". Can someone help me with reading the
> standard?
>
> "The parent type of an extended type is the type named in the EXTENDS
> attribute specification."
> "NOTE 4.49 The name of the parent type might be a local name
> introduced via renaming in a USE statement."
> "An extended type has a scalar, nonpointer, nonallocatable, 1 parent
> component with the type and type parameters of the parent type. The
> name of this component is the parent type name."
>
> Tobias
I'm curious what motivates the question. Is it to make a fortran
accounting of the use of 'my' in syntaxes like Perl?
--
We are here and it is now. Further than that, all human knowledge is
moon****ne. 3
H. L. Mencken


|