This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Updated patch: After fixing two small errors, the patch also fixes PR
47710 (test case added).

Still regtesting cleanly ...

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.

Attachment: pr53328_v2.diff
Description: Binary data

Attachment: typebound_generic_12.f03
Description: Binary data

Attachment: typebound_generic_13.f03
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]