This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC, Fortran, (pr66775)] Allocatable function result
- From: Steve Kargl <sgk at troutmask dot apl dot washington dot edu>
- To: Andre Vehreschild <vehre at gmx dot de>
- Cc: GCC-Patches-ML <gcc-patches at gcc dot gnu dot org>, GCC-Fortran-ML <fortran at gcc dot gnu dot org>, Paul Richard Thomas <paul dot richard dot thomas at gmail dot com>
- Date: Fri, 10 Jul 2015 06:41:21 -0700
- Subject: Re: [RFC, Fortran, (pr66775)] Allocatable function result
- Authentication-results: sourceware.org; auth=none
- References: <20150709122518 dot 08388506 at vepi2> <20150709175047 dot GA70209 at troutmask dot apl dot washington dot edu> <DE4F2D8C-D4E3-4CE3-8991-A0F372C555AA at gmx dot de> <20150709194131 dot GA29199 at troutmask dot apl dot washington dot edu> <20150710114432 dot 2adff6d8 at vepi2>
Yes, it should be closed. When I asked you to open it,
I thought the issue was a corner case in your patch.
--
steve
On Fri, Jul 10, 2015 at 11:44:32AM +0200, Andre Vehreschild wrote:
>
> this means that pr66775 is to be closed as resolved invalid, because the
> current implementation is alright, but only the program to compile is garbage.
> Ok, suits me.
>
> - Andre
>
> On Thu, 9 Jul 2015 12:41:31 -0700
> Steve Kargl <sgk@troutmask.apl.washington.edu> wrote:
>
> > On Thu, Jul 09, 2015 at 08:59:08PM +0200, Andre Vehreschild wrote:
> > > Hi Steve,
> > >
> > > Thanks for your knowledge. Can you support your statement that an
> > > allocatable function has to return an allocated object by a part of the
> > > standard? I totally agree with you that this code is ill-designed, but IMO
> > > is it not the task of the compiler to address ill design. The compiler has
> > > to comply to the standard and the standard allows allocatable objects to be
> > > unallocated. So why has the result of a function be allocated always?
> > >
> > > Regards,
> > > Andre
> > >
> >
> > I think the following excerpts from F2008 are the relevant
> > clauses, especially the 2nd to last sentence in the excerpt
> > from 12.6.2.2.
> >
> > ! 12.5.3
> > !
> > ! When execution of the function is complete, the value of
> > ! the function result is available for use in the expression
> > ! that caused the function to be invoked.
> > !
> > ! 12.6.2.2
> > !
> > ! If RESULT appears, the name of the result variable of the
> > ! function is result-name and all occurrences of the function
> > ! name in execution-part statements in its scope refer to the
> > ! function itself. If RESULT does not appear, the name of the
> > ! result variable is function-name and all occurrences of the
> > ! function name in execution-part statements in its scope are
> > ! references to the result variable. The characteristics (12.3.3)
> > ! of the function result are those of the result variable. On
> > ! completion of execution of the function, the value returned is
> > ! that of its result variable. If the function result is a pointer,
> > ! the shape of the value returned by the function is determined by
> > ! the shape of the result variable when the execution of the function
> > ! is completed. If the result variable is not a pointer, its value
> > ! shall be defined by the function. If the function result is a
> > ! pointer, on return the pointer association status of the result
> > ! variable shall not be undefined.
> >
>
>
> --
> Andre Vehreschild * Email: vehre ad gmx dot de
--
Steve
- References:
- [RFC, Fortran, (pr66775)] Allocatable function result
- Re: [RFC, Fortran, (pr66775)] Allocatable function result
- Re: [RFC, Fortran, (pr66775)] Allocatable function result
- Re: [RFC, Fortran, (pr66775)] Allocatable function result
- Re: [RFC, Fortran, (pr66775)] Allocatable function result