------- Comment #7 from pault at gcc dot gnu dot org  2006-03-06 22:56 -------
Subject: Bug 19546

Author: pault
Date: Mon Mar  6 22:56:39 2006
New Revision: 111793

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=111793
Log:
2006-03-06  Paul Thomas  <[EMAIL PROTECTED]>

        PR fortran/26107
        * resolve.c (resolve_function): Add name after test for pureness.

        PR fortran/19546
        * trans-expr.c (gfc_conv_variable): Detect reference to parent result,
        store current_function_decl, replace with parent, whilst calls are
        made to gfc_get_fake_result_decl, and restore afterwards. Signal this
        to gfc_get_fake_result_decl with a new argument, parent_flag.
        * trans-stmt.c (gfc_trans_return): gfc_get_fake_result_decl 2nd arg
        is set to zero.
        * trans.h: Add parent_flag to gfc_get_fake_result_decl prototype.
        * trans-decl.c (gfc_get_fake_result_decl): On parent_flag, being set,
        add decl to parent function. Replace refs to current_fake_result_decl
        with refs to this_result_decl.
        (gfc_generate_function_code): Null parent_fake_result_decl before the
        translation of code for contained procedures. Set parent_flag to zero
        in call to gfc_get_fake_result_decl.
        * trans-intrinsic.c (gfc_conv_intrinsic_len): The same.

2006-03-06  Paul Thomas  <[EMAIL PROTECTED]>

        PR fortran/26107
        * pure_dummy_length_1.f90: New test.

        PR fortran/19546
        * gfortran.dg/parent_result_ref_1.f90: New test.
        * gfortran.dg/parent_result_ref_2.f90: New test.
        * gfortran.dg/parent_result_ref_3.f90: New test.
        * gfortran.dg/parent_result_ref_4.f90: New test.

Added:
    trunk/gcc/testsuite/gfortran.dg/parent_result_ref_1.f90
    trunk/gcc/testsuite/gfortran.dg/parent_result_ref_2.f90
    trunk/gcc/testsuite/gfortran.dg/parent_result_ref_3.f90   (with props)
    trunk/gcc/testsuite/gfortran.dg/parent_result_ref_4.f90
    trunk/gcc/testsuite/gfortran.dg/pure_dummy_length_1.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/resolve.c
    trunk/gcc/fortran/trans-decl.c
    trunk/gcc/fortran/trans-expr.c
    trunk/gcc/fortran/trans-intrinsic.c
    trunk/gcc/fortran/trans-openmp.c
    trunk/gcc/fortran/trans-stmt.c
    trunk/gcc/fortran/trans.h
    trunk/gcc/testsuite/ChangeLog

Propchange: trunk/gcc/testsuite/gfortran.dg/parent_result_ref_3.f90
            ('svn:executable' added)


-- 


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

Reply via email to