This is the mail archive of the gcc-bugs@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]

[Bug fortran/37423] Fortran 2003: DEFERRED bindings not yet implemented



------- Comment #2 from domob at gcc dot gnu dot org  2009-03-29 17:47 -------
Subject: Bug 37423

Author: domob
Date: Sun Mar 29 17:47:00 2009
New Revision: 145248

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145248
Log:
2009-03-29  Daniel Kraft  <d@domob.eu>

        PR fortran/37423
        * gfortran.h (struct gfc_typebound_proc): Added new flag `deferred' and
        added a comment explaining DEFERRED binding handling.
        * decl.c (match_binding_attributes): Really match DEFERRED attribute.
        (match_procedure_in_type): Really match PROCEDURE(interface) syntax
        and do some validity checks for DEFERRED and this construct.
        * module.c (binding_overriding): New string constant for DEFERRED.
        (mio_typebound_proc): Module-IO DEFERRED flag.
        * resolve.c (check_typebound_override): Ensure that a non-DEFERRED
        binding is not overridden by a DEFERRED one.
        (resolve_typebound_procedure): Allow abstract interfaces as targets
        for DEFERRED bindings.
        (ensure_not_abstract_walker), (ensure_not_abstract): New methods.
        (resolve_fl_derived): Use new `ensure_not_abstract' method for
        non-ABSTRACT types extending ABSTRACT ones to ensure each DEFERRED
        binding is overridden.
        (check_typebound_baseobject): New method.
        (resolve_compcall), (resolve_typebound_call): Check base-object of
        the type-bound procedure call.
        * gfc-internals.texi (Type-bound procedures): Document a little bit
        about internal handling of DEFERRED bindings.

2009-03-29  Daniel Kraft  <d@domob.eu>

        PR fortran/37423
        * gfortran.dg/typebound_proc_4.f03: Remove not-implemented check for
        DEFERRED bindings.
        * gfortran.dg/typebound_proc_9.f03: New test.
        * gfortran.dg/typebound_proc_10.f03: New test.
        * gfortran.dg/typebound_proc_11.f03: New test.
        * gfortran.dg/abstract_type_5.f03: New test.

Added:
    trunk/gcc/testsuite/gfortran.dg/abstract_type_5.f03
    trunk/gcc/testsuite/gfortran.dg/typebound_proc_10.f03
    trunk/gcc/testsuite/gfortran.dg/typebound_proc_11.f03
    trunk/gcc/testsuite/gfortran.dg/typebound_proc_9.f03
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/decl.c
    trunk/gcc/fortran/gfc-internals.texi
    trunk/gcc/fortran/gfortran.h
    trunk/gcc/fortran/module.c
    trunk/gcc/fortran/resolve.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/typebound_proc_4.f03


-- 


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


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