This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: [Patch, fortran] PR69834 - Collision in derived type hashes
- From: Andre Vehreschild <vehre at gmx dot de>
- To: Paul Richard Thomas <paul dot richard dot thomas at gmail dot com>
- Cc: "fortran at gcc dot gnu dot org" <fortran at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 24 Oct 2016 11:07:00 +0200
- Subject: Re: [Patch, fortran] PR69834 - Collision in derived type hashes
- Authentication-results: sourceware.org; auth=none
- References: <CAGkQGi+S-4qf+ifgVvKHRu=TEj4pRmMCCJrLxBJOLoZDZ1QP2Q@mail.gmail.com> <20161023144553.61c78130@vepi2> <CAGkQGiKGiBABq+6_m0nHtctOV_bTn9KRFmt2cdGkz897gn42EQ@mail.gmail.com>
Hi Paul,
concerning this:
> >> Index: gcc/fortran/trans-stmt.c
> >> ===================================================================
> >> *** gcc/fortran/trans-stmt.c (revision 241439)
> >> --- gcc/fortran/trans-stmt.c (working copy)
> >> *************** gfc_trans_do_while (gfc_code * code)
> >> *** 2331,2336 ****
> >> --- 2331,2455 ----
> > <snipp>
> >> +
> >> + /* Translate an assignment to a CLASS object
> >> + (pointer or ordinary assignment). */
> >> +
> >> +
> >
> > Here is no routine the above comment could document. Left over from prior
> > version?
>
> This is in your tree, not mine :-)
Well, now it is in everyone's tree. But I am guilty of pasting the wrong
location. The correct one is:
> Index: gcc/fortran/trans-expr.c
> ===================================================================
> *** gcc/fortran/trans-expr.c (revision 241439)
> --- gcc/fortran/trans-expr.c (working copy)
> *************** gfc_trans_class_init_assign (gfc_code *c
> *** 1508,1513 ****
> }
>
>
> + /* Return the backend_decl for the vtable of an arbitrary typespec
> + and the vtable symbol. */
> +
> + tree
> + gfc_get_vtable_decl (gfc_typespec *ts, gfc_symbol **vtab)
> + {
> + gfc_symbol *vtable = gfc_find_vtab (ts);
> + gcc_assert (vtable != NULL);
> + if (vtab != NULL)
> + *vtab = vtable;
> + if (vtable->backend_decl == NULL_TREE)
> + return gfc_get_symbol_decl (vtable);
> + else
> + return vtable->backend_decl;
> + }
> +
> +
> + /* Translate an assignment to a CLASS object
> + (pointer or ordinary assignment). */
> +
Still I do not see what the above documents. The next function is
realloc_lhs_warning () and the comment makes no sense to it.
> +
> /* End of prototype trans-class.c */
Regards,
Andre
--
Andre Vehreschild * Email: vehre ad gmx dot de