[Patch, Fortran, OOP] PR 53328: Ambiguous check for type-bound GENERIC shall ignore PASSed arguments

Janus Weil janus@gcc.gnu.org
Fri Jun 22 22:00:00 GMT 2012


> Anyway, I'll commit the attached patch later this evening ...

Committed as r188902.

Cheers,
Janus



>>> 2012-06-17  Janus Weil  <janus@gcc.gnu.org>
>>>
>>>        PR fortran/47710
>>>        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  <janus@gcc.gnu.org>
>>>
>>>        PR fortran/47710
>>>        PR fortran/53328
>>>        * gfortran.dg/typebound_generic_12.f03: New.
>>>        * gfortran.dg/typebound_generic_13.f03: New.
>>>
>>>
>>>
>>>
>>> 2012/6/17 Janus Weil <janus@gcc.gnu.org>:
>>>>
>>>> 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  <janus@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  <janus@gcc.gnu.org>
>>>>
>>>>        PR fortran/53328
>>>>        * gfortran.dg/typebound_generic_12.f03: New.
>>
>>
>>



More information about the Gcc-patches mailing list