[Bug fortran/48786] [OOP] Generic ambiguity check too strict for polymorphic dummies

janus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Aug 21 14:43:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48786

--- Comment #13 from janus at gcc dot gnu.org ---
(In reply to janus from comment #11)
> Apparently it is due to r201329 (for PR 57530), in particular the
> interface.c part.

However, reverting this via

Index: gcc/fortran/interface.c
===================================================================
--- gcc/fortran/interface.c    (revision 201883)
+++ gcc/fortran/interface.c    (working copy)
@@ -514,12 +514,6 @@ compare_type (gfc_symbol *s1, gfc_symbol *s2)
   if (s2->attr.ext_attr & (1 << EXT_ATTR_NO_ARG_CHECK))
     return 1;

-  /* TYPE and CLASS of the same declared type are type compatible,
-     but have different characteristics.  */
-  if ((s1->ts.type == BT_CLASS && s2->ts.type == BT_DERIVED)
-      || (s1->ts.type == BT_DERIVED && s2->ts.type == BT_CLASS))
-    return 0;
-
   return gfc_compare_types (&s1->ts, &s2->ts) || s2->ts.type == BT_ASSUMED;
 }


results in these testsuite failures:

FAIL: gfortran.dg/proc_ptr_30.f90  -O   (test for errors, line 25)
FAIL: gfortran.dg/proc_ptr_comp_32.f90  -O   (test for errors, line 34)
FAIL: gfortran.dg/proc_ptr_comp_33.f90  -O   (test for errors, line 14)
FAIL: gfortran.dg/proc_ptr_comp_33.f90  -O   (test for errors, line 54)
FAIL: gfortran.dg/dummy_procedure_4.f90  -O   (test for errors, line 28)



More information about the Gcc-bugs mailing list