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/31154] IMPORT fails for "<imported symbol> FUNCTION (...)" kind of procedures



------- Comment #7 from pault at gcc dot gnu dot org  2007-10-02 07:17 -------
Subject: Bug 31154

Author: pault
Date: Tue Oct  2 07:17:01 2007
New Revision: 128948

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128948
Log:
2007-10-02  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/31154
        PR fortran/31229
        PR fortran/33334
        * decl.c : Declare gfc_function_kind_locs and
        gfc_function_type_locus.
        (gfc_match_kind_spec): Add second argument kind_expr_only.
        Store locus before trying to match the expression. If the
        current state corresponds to a function declaration and there
        is no match to the expression, read to the parenthesis, return
        kind = -1, dump the expression and return.
        (gfc_match_type_spec): Renamed from match_type_spec and all
        references changed.  If an interface or an external function,
        store the locus, set kind = -1 and return.  Otherwise, if kind
        is already = -1, use gfc_find_symbol to try to find a use
        associated or imported type.
        match.h : Prototype for gfc_match_type_spec.
        * parse.c (match_deferred_characteristics): New function.
        (parse_spec): If in a function, statement is USE or IMPORT
        or DERIVED_DECL and the function kind=-1, call
        match_deferred_characteristics.  If kind=-1 at the end of the
        specification expressions, this is an error.
        * parse.h : Declare external gfc_function_kind_locs and
        gfc_function_type_locus.

2007-10-02  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/31154
        PR fortran/31229
        PR fortran/33334
        * gfortran.dg/function_kinds_1.f90: New test.
        * gfortran.dg/function_kinds_2.f90: New test.
        * gfortran.dg/derived_function_interface_1.f90: Correct illegal
        use association into interfaces.


Added:
    trunk/gcc/testsuite/gfortran.dg/function_kinds_1.f90
    trunk/gcc/testsuite/gfortran.dg/function_kinds_2.f90
    trunk/gcc/testsuite/gfortran.dg/intent_out_2.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/decl.c
    trunk/gcc/fortran/match.h
    trunk/gcc/fortran/parse.c
    trunk/gcc/fortran/parse.h
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/derived_function_interface_1.f90


-- 


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


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