This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch, fortran] PR40646 - ICE assigning array return value from type-bound procedure
Please ignore the
--- gcc/fortran/trans-expr.c (revision 149062)
+++ gcc/fortran/trans-expr.c (working copy)
@@ -4054,7 +4054,6 @@
/* Scalar pointers. */
lse.want_pointer = 1;
gfc_conv_expr (&lse, expr1);
- gcc_assert (rss == gfc_ss_terminator);
gfc_init_se (&rse, NULL);
rse.want_pointer = 1;
gfc_conv_expr (&rse, expr2);
in the latest offering - I was trying to fix Janus' problem.
Cheers
Paul
On Sat, Jul 4, 2009 at 6:29 PM, Paul Richard
Thomas<paul.richard.thomas@gmail.com> wrote:
> 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.
>
--
The knack of flying is learning how to throw yourself at the ground and miss.
--Hitchhikers Guide to the Galaxy