This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r151936 - in /branches/fortran-dev/gcc: fortran...
- From: janus at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Mon, 21 Sep 2009 16:45:48 -0000
- Subject: r151936 - in /branches/fortran-dev/gcc: fortran...
Author: janus
Date: Mon Sep 21 16:45:47 2009
New Revision: 151936
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=151936
Log:
2009-09-21 Janus Weil <janus@gcc.gnu.org>
* decl.c (encapsulate_class_symbol): Modify names of class container
components by prefixing with '$'.
(gfc_match_end): Handle COMP_SELECT_TYPE.
* expr.c (gfc_add_component_ref): Modify names of class container
components by prefixing with '$'.
* gfortran.h (gfc_statement): Add ST_SELECT_TYPE, ST_TYPE_IS and
ST_CLASS_IS.
(gfc_case): New field 'ts'.
(gfc_exec_op): Add EXEC_SELECT_TYPE.
(gfc_type_is_extension_of): New prototype.
* match.h (gfc_match_select_type,gfc_match_type_is,gfc_match_class_is):
New prototypes.
* match.c (match_derived_type_spec): New function.
(match_type_spec): Use 'match_derived_type_spec'.
(match_case_eos): Modify error message.
(gfc_match_select_type): New function.
(gfc_match_case): Modify error message.
(gfc_match_type_is): New function.
(gfc_match_class_is): Ditto.
* parse.h (gfc_compile_state): Add COMP_SELECT_TYPE.
* parse.c (decode_statement): Handle SELECT TYPE, TYPE IS and CLASS IS
statements.
(next_statement): Handle ST_SELECT_TYPE.
(gfc_ascii_statement): Handle ST_SELECT_TYPE, ST_TYPE_IS, ST_CLASS_IS.
(parse_select_type_block): New function.
(parse_executable): Handle ST_SELECT_TYPE.
* resolve.c (resolve_deallocate_expr): Handle BT_CLASS. Modify names of
class container components by prefixing with '$'.
(resolve_allocate_expr): Ditto.
(resolve_select_type): New function.
(gfc_resolve_blocks): Handle EXEC_SELECT_TYPE.
(check_class_pointer_assign): Modify names of class container
components by prefixing with '$'.
(resolve_code): Ditto.
* st.c (gfc_free_statement): Ditto.
* symbol.c (gfc_type_is_extension_of): New function.
(gfc_type_compatible): Use 'gfc_type_is_extension_of', plus a bugfix.
* trans.c (gfc_trans_code): Handel EXEC_SELECT_TYPE.
2009-09-21 Janus Weil <janus@gcc.gnu.org>
* gfortran.dg/block_name_2.f90: Modified error message.
* gfortran.dg/select_6.f90: Ditto.
* gfortran.dg/select_type_1.f03: New test.
Added:
branches/fortran-dev/gcc/testsuite/gfortran.dg/select_type_1.f03
Modified:
branches/fortran-dev/gcc/fortran/ChangeLog.fortran-dev
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/match.c
branches/fortran-dev/gcc/fortran/match.h
branches/fortran-dev/gcc/fortran/parse.c
branches/fortran-dev/gcc/fortran/parse.h
branches/fortran-dev/gcc/fortran/resolve.c
branches/fortran-dev/gcc/fortran/st.c
branches/fortran-dev/gcc/fortran/symbol.c
branches/fortran-dev/gcc/fortran/trans.c
branches/fortran-dev/gcc/testsuite/ChangeLog.fortran-dev
branches/fortran-dev/gcc/testsuite/gfortran.dg/block_name_2.f90
branches/fortran-dev/gcc/testsuite/gfortran.dg/select_6.f90