------- Comment #4 from pault at gcc dot gnu dot org  2007-07-24 19:15 -------
Subject: Bug 32842

Author: pault
Date: Tue Jul 24 19:15:27 2007
New Revision: 126885

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=126885
Log:
2007-07-24 Paul Thomas <[EMAIL PROTECTED]>

        PR fortran/31205
        PR fortran/32842
        * trans-expr.c (gfc_conv_function_call): Remove the default
        initialization of intent(out) derived types.
        * symbol.c (gfc_lval_expr_from_sym): New function.
        * matchexp.c (gfc_get_parentheses): Return argument, if it is
        character and posseses a ref.
        * gfortran.h : Add prototype for gfc_lval_expr_from_sym.
        * resolve.c (has_default_initializer): Move higher up in file.
        (resolve_code): On detecting an interface assignment, check
        if the rhs and the lhs are the same symbol.  If this is so,
        enclose the rhs in parenetheses to generate a temporary and
        prevent any possible aliasing.
        (apply_default_init): Remove code making the lval and call
        gfc_lval_expr_from_sym instead.
        (resolve_operator): Give a parentheses expression a type-
        spec if it has no type.
        * trans-decl.c (gfc_trans_deferred_vars): Apply the a default
        initializer, if any, to an intent(out) derived type, using
        gfc_lval_expr_from_sym and gfc_trans_assignment.  Check if
        the dummy is present.


2007-07-24 Paul Thomas <[EMAIL PROTECTED]>

        PR fortran/31205
        * gfortran.dg/alloc_comp_basics_1.f90 : Restore number of
        "deallocates" to 24, since patch has code rid of much spurious
        code.
        * gfortran.dg/interface_assignment_1.f90 : New test.

        PR fortran/32842
        * gfortran.dg/interface_assignment_2.f90 : New test.

Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/gfortran.h
    trunk/gcc/fortran/matchexp.c
    trunk/gcc/fortran/resolve.c
    trunk/gcc/fortran/symbol.c
    trunk/gcc/fortran/trans-decl.c
    trunk/gcc/fortran/trans-expr.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/alloc_comp_basics_1.f90


-- 


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

Reply via email to