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]

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


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.diff
Description: Binary data

Attachment: typebound_generic_12.f03
Description: Binary data


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