Hi all, here is a patch which concerns the ambiguity checking of generic TBPs, where F03 has similar rules as F95, with the difference that PASS arguments basically should be skipped in these tests. That is what the patch implements by passing the PASS arguments to 'gfc_compare_interfaces' and modifying the helper functions 'count_types_test' and 'generic_correspondence'.
Patch is regtested on x86_64-unknown-linux-gnu. I also checked that it gives correct behavior for the extended tests posted by Salvatore at: http://gcc.gnu.org/ml/fortran/2012-05/msg00060.html Ok for trunk? Btw, we have a couple more PRs regarding generic TBPs, and I hope to find the time to tackle some of these soon. Cheers, Janus 2012-06-17 Janus Weil <ja...@gcc.gnu.org> PR fortran/53328 * interface.c (count_types_test,generic_correspondence, gfc_compare_interfaces): Ignore PASS arguments. (check_interface1,compare_parameter): Pass NULL arguments to gfc_compare_interfaces. * gfortran.h (gfc_compare_interfaces): Modified Prototype. * expr.c (gfc_check_pointer_assign): Pass NULL arguments to gfc_compare_interfaces. * resolve.c (resolve_structure_cons): Ditto. (check_generic_tbp_ambiguity): Determine PASS arguments and pass them to gfc_compare_interfaces. 2012-06-17 Janus Weil <ja...@gcc.gnu.org> PR fortran/53328 * gfortran.dg/typebound_generic_12.f03: New.
pr53328.diff
Description: Binary data
typebound_generic_12.f03
Description: Binary data