aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload.c
diff options
context:
space:
mode:
authorDaniel Kraft <d@domob.eu>2009-08-10 12:51:46 +0200
committerDaniel Kraft <domob@gcc.gnu.org>2009-08-10 12:51:46 +0200
commit94747289e95b397d364d5fe39ee871a5ee8b65ae (patch)
treec9cb831896e1271168a8d8990ba440b96eccd577 /gcc/reload.c
parent4f4e722eb62eaddb1313c09dfc0fa5d094d78148 (diff)
downloadgcc-94747289e95b397d364d5fe39ee871a5ee8b65ae.zip
gcc-94747289e95b397d364d5fe39ee871a5ee8b65ae.tar.gz
gcc-94747289e95b397d364d5fe39ee871a5ee8b65ae.tar.bz2
re PR fortran/37425 (Fortran 2003: GENERIC bindings as operators)
2009-08-10 Daniel Kraft <d@domob.eu> PR fortran/37425 * gfortran.dg/typebound_operator_1.f03: New test. * gfortran.dg/typebound_operator_2.f03: New test. 2009-08-10 Daniel Kraft <d@domob.eu> PR fortran/37425 * gfortran.h (struct gfc_namespace): New fields tb_uop_root and tb_op. (gfc_find_typebound_user_op): New routine. (gfc_find_typebound_intrinsic_op): Ditto. (gfc_check_operator_interface): Now public routine. * decl.c (gfc_match_generic): Match OPERATOR(X) or ASSIGNMENT(=). * interface.c (check_operator_interface): Made public, renamed to `gfc_check_operator_interface' accordingly and hand in the interface as gfc_symbol rather than gfc_interface so it is useful for type-bound operators, too. Return boolean result. (gfc_check_interfaces): Adapt call to `check_operator_interface'. * symbol.c (gfc_get_namespace): Initialize new field `tb_op'. (gfc_free_namespace): Free `tb_uop_root'-based tree. (find_typebound_proc_uop): New helper function. (gfc_find_typebound_proc): Use it. (gfc_find_typebound_user_op): New method. (gfc_find_typebound_intrinsic_op): Ditto. * resolve.c (resolve_tb_generic_targets): New helper function. (resolve_typebound_generic): Use it. (resolve_typebound_intrinsic_op), (resolve_typebound_user_op): New. (resolve_typebound_procedures): Resolve operators, too. (check_uop_procedure): New, code from gfc_resolve_uops. (gfc_resolve_uops): Moved main code to new `check_uop_procedure'. From-SVN: r150622
Diffstat (limited to 'gcc/reload.c')
0 files changed, 0 insertions, 0 deletions