This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/46328] [OOP] type-bound operator call with non-trivial polymorphic operand
- From: "janus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 31 Oct 2011 21:51:22 +0000
- Subject: [Bug fortran/46328] [OOP] type-bound operator call with non-trivial polymorphic operand
- Auto-submitted: auto-generated
- References: <bug-46328-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46328
--- Comment #6 from janus at gcc dot gnu.org 2011-10-31 21:51:22 UTC ---
One other thing that just occurred to me is that one might consider cleaning up
'gfc_extend_expr' by removing the 'real_error' argument and returning
{MATCH_YES, MATCH_NO, MATCH_ERROR} instead of {SUCCESS, FAILURE}.
Index: gcc/fortran/interface.c
===================================================================
--- gcc/fortran/interface.c (revision 180696)
+++ gcc/fortran/interface.c (working copy)
@@ -3220,12 +3220,10 @@ build_compcall_for_operator (gfc_expr* e, gfc_actu
with the operator. This subroutine builds an actual argument list
corresponding to the operands, then searches for a compatible
interface. If one is found, the expression node is replaced with
- the appropriate function call.
- real_error is an additional output argument that specifies if FAILURE
- is because of some real error and not because no match was found. */
+ the appropriate function call. */
-gfc_try
-gfc_extend_expr (gfc_expr *e, bool *real_error)
+match
+gfc_extend_expr (gfc_expr *e)
{
gfc_actual_arglist *actual;
gfc_symbol *sym;