------- Comment #1 from domob at gcc dot gnu dot org  2009-08-10 10:52 -------
Subject: Bug 37425

Author: domob
Date: Mon Aug 10 10:51:46 2009
New Revision: 150622

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=150622
Log:
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'.

Added:
    trunk/gcc/testsuite/gfortran.dg/typebound_operator_1.f03
    trunk/gcc/testsuite/gfortran.dg/typebound_operator_2.f03
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/decl.c
    trunk/gcc/fortran/gfortran.h
    trunk/gcc/fortran/interface.c
    trunk/gcc/fortran/resolve.c
    trunk/gcc/fortran/symbol.c
    trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37425

Reply via email to