[Patch, fortran] PR40646 - ICE assigning array return value from type-bound procedure

Paul Richard Thomas paul.richard.thomas@gmail.com
Sat Jul 4 16:31:00 GMT 2009


Ha! Let's try again.....

I have taken up Tobias' version, which works just fine as long as you
take target->n.sym.  I have also, done some revision of the value
union of gfc_expr to ensure that like things in differnet members are
aligned.  It's not actually necessary but it does relieve the need to
remember that isym was lined up with tbp, so that NULLing one did a
job on the other.

Again, bootstrapped and regtested FC9/x86_64 - OK for trunk?

Cheers

Paul

2009-07-04  Paul Thomas  <pault@gcc.gnu.org>
	and Tobias Burnus <burnus@gcc.gnu.org>

	PR fortran/40646
	* gfortran.h : Change the compcall member of the 'value' union
	in the gfc_expr structure so that its fields overlap with the
	'function' member.
	* resolve.c (resolve_compcall): Set the function.esym.
	* trans-expr.c (gfc_trans_arrayfunc_assign): Use
	is_proc_ptr_comp in the condition.

2009-07-04  Paul Thomas  <pault@gcc.gnu.org>
	and Tobias Burnus <burnus@gcc.gnu.org>

	PR fortran/40646
	* gfortran.dg/func_assign_3.f90 : New test.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: submit.diff
Type: text/x-patch
Size: 3239 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20090704/6d586d51/attachment.bin>


More information about the Gcc-patches mailing list