r152221 - in /branches/fortran-dev/gcc: fortran...

janus@gcc.gnu.org janus@gcc.gnu.org
Sun Sep 27 15:53:00 GMT 2009


Author: janus
Date: Sun Sep 27 15:53:55 2009
New Revision: 152221

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=152221
Log:
2009-09-27  Janus Weil  <janus@gcc.gnu.org>

	* check.c (gfc_check_same_type_as): New function for checking
	SAME_TYPE_AS and EXTENDS_TYPE_OF.
	* decl.c (encapsulate_class_symbol): Set ABSTRACT attribute for class
	container, if the contained type has it. Add an initializer for the
	class container.
	(add_init_expr_to_sym): Handle BT_CLASS.
	(vindex_counter): New counter for setting vindices.
	(gfc_match_derived_decl): Set vindex for all derived types, not only
	those which are being extended.
	* expr.c (gfc_check_assign_symbol): Handle NULL initialization of class
	pointers.
	* gfortran.h (gfc_isym_id): New values GFC_ISYM_SAME_TYPE_AS and
	GFC_ISYM_EXTENDS_TYPE_OF.
	(gfc_type_is_extensible): New prototype.
	* intrinsic.h (gfc_check_same_type_as): New prototype.
	* intrinsic.c (add_functions): Add SAME_TYPE_AS and EXTENDS_TYPE_OF.
	* primary.c (gfc_expr_attr): Handle CLASS-valued functions.
	* resolve.c (resolve_structure_cons): Handle BT_CLASS.
	(type_is_extensible): Make non-static and rename to
	'gfc_type_is_extensible.
	(resolve_select_type): Renamed type_is_extensible.
	(resolve_class_assign): Handle NULL pointers.
	(resolve_fl_variable_derived): Renamed type_is_extensible.
	(resolve_fl_derived): Ditto.
	* trans-expr.c (gfc_trans_subcomponent_assign): Handle NULL
	initialization of class pointer components.
	(gfc_conv_structure): Handle BT_CLASS.
	* trans-intrinsic.c (gfc_conv_same_type_as,gfc_conv_extends_type_of):
	New functions.
	(gfc_conv_intrinsic_function): Handle SAME_TYPE_AS and EXTENDS_TYPE_OF.


2009-09-27  Janus Weil  <janus@gcc.gnu.org>

	* gfortran.dg/same_type_as_1.f03: New test.
	* gfortran.dg/same_type_as_2.f03: Ditto.

Added:
    branches/fortran-dev/gcc/testsuite/gfortran.dg/same_type_as_1.f03
    branches/fortran-dev/gcc/testsuite/gfortran.dg/same_type_as_2.f03
Modified:
    branches/fortran-dev/gcc/fortran/ChangeLog.fortran-dev
    branches/fortran-dev/gcc/fortran/check.c
    branches/fortran-dev/gcc/fortran/decl.c
    branches/fortran-dev/gcc/fortran/expr.c
    branches/fortran-dev/gcc/fortran/gfortran.h
    branches/fortran-dev/gcc/fortran/intrinsic.c
    branches/fortran-dev/gcc/fortran/intrinsic.h
    branches/fortran-dev/gcc/fortran/primary.c
    branches/fortran-dev/gcc/fortran/resolve.c
    branches/fortran-dev/gcc/fortran/trans-expr.c
    branches/fortran-dev/gcc/fortran/trans-intrinsic.c
    branches/fortran-dev/gcc/testsuite/ChangeLog.fortran-dev



More information about the Gcc-cvs mailing list