[Patch, fortran, PR44672, v10] [F08] ALLOCATE with SOURCE and no array-spec

Andre Vehreschild vehre@gmx.de
Wed Jun 10 08:26:00 GMT 2015


Hi all,

please find attached an updated version of the patch. This patch simplifies
some cases and ensures more straight line code. Furthermore was a bug in the
interfacing routine for the _vptr->_copy() routine removed, where not the third
and fourth arguments translated to be passed be value but the fourth and fifth
(cs start counting at zero...).

Bootstraps and regtests fine on x86_64-linux-gnu/f21.

Ok for trunk?

Regards,
	Andre

On Fri, 5 Jun 2015 13:04:01 +0200
Andre Vehreschild <vehre@gmx.de> wrote:

> Hi all,
> 
> attached is the most recent version of the patch. It addresses the standard
> violation of allocate(foo, source=[bar(something)]), where foo after the
> allocate was a zero-based array instead of a one-based. Furthermore does this
> patch fix calling _vptr->_copy () routines, which come without an interface
> specification leading to pass all arguments by reference. When copying a
> deferred length string this is hazardous, because a __copy_character_* ()
> routines third and fourth arguments are passed by value. This is fixed by
> simply counting the actual arguments and using pass by value for third and
> fourth to _copy routine.
> 
> Bootstraps and regtests ok on x86_64-linux-gnu/f21.
> 
> Ok for trunk?
> 
> - Andre


-- 
Andre Vehreschild * Email: vehre ad gmx dot de 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr44672_10.clog
Type: application/octet-stream
Size: 1679 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20150610/ad974832/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr44672_10.patch
Type: text/x-patch
Size: 29306 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20150610/ad974832/attachment.bin>


More information about the Fortran mailing list