r111793 - in /trunk/gcc: fortran/ChangeLog fort...

pault@gcc.gnu.org pault@gcc.gnu.org
Mon Mar 6 22:56:00 GMT 2006


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  <pault@gcc.gnu.org>

	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  <pault@gcc.gnu.org>

	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)




More information about the Gcc-cvs mailing list