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.

Attachment: pr53328.diff
Description: Binary data

Attachment: typebound_generic_12.f03
Description: Binary data

Reply via email to