Find a file
Janus Weil 7c1dab0d8b backport: re PR fortran/42053 ([OOP] SELECT TYPE: reject duplicate CLASS IS blocks)
merge from fortran-dev branch:


gcc/fortran/

2009-11-30  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42053
	* resolve.c (resolve_select_type): Check for duplicate CLASS IS blocks.

2009-11-30  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41631
	* decl.c (gfc_match_derived_decl): Set extension level.
	* gfortran.h (symbol_attribute): Expand 'extension' bit field to 8 bit.
	* iresolve.c (gfc_resolve_extends_type_of): Return value of
	'is_extension_of' has kind=4.
	* match.c (select_type_set_tmp,gfc_match_class_is): Create temporary
	for CLASS IS blocks.
	* module.c (MOD_VERSION): Bump module version.
	(ab_attribute,attr_bits): Remove AB_EXTENSION.
	(mio_symbol_attribute): Handle expanded 'extension' field.
	* resolve.c (resolve_select_type): Implement CLASS IS blocks.
	(resolve_fl_variable_derived): Show correct type name.
	* symbol.c (gfc_build_class_symbol): Set extension level.

2009-11-30  Janus Weil  <janus@gcc.gnu.org>

	* intrinsic.h (gfc_resolve_extends_type_of): Add prototype.
	* intrinsic.c (add_functions): Use 'gfc_resolve_extends_type_of'.
	* iresolve.c (gfc_resolve_extends_type_of): New function, which
	replaces the call to EXTENDS_TYPE_OF by the library function
	'is_extension_of' and modifies the arguments.
	* trans-intrinsic.c (gfc_conv_extends_type_of): Removed.
	(gfc_conv_intrinsic_function): FOR EXTENDS_TYPE_OF, don't call
	gfc_conv_extends_type_of but gfc_conv_intrinsic_funcall.

2009-11-30  Paul Thomas  <pault@gcc.gnu.org>
	    Janus Weil  <janus@gcc.gnu.org>

	* decl.c (encapsulate_class_symbol): Replaced by
	'gfc_build_class_symbol'.
	(build_sym,build_struct): Call 'gfc_build_class_symbol'.
	(gfc_match_derived_decl): Replace vindex by hash_value.
	* dump-parse-tree.c (show_symbol): Replace vindex by hash_value.
	* gfortran.h (symbol_attribute): Add field 'vtab'.
	(gfc_symbol): Replace vindex by hash_value.
	(gfc_class_esym_list): Ditto.
	(gfc_get_derived_type,gfc_build_class_symbol,gfc_find_derived_vtab):
	New prototypes.
	* module.c (mio_symbol): Replace vindex by hash_value.
	* resolve.c (vindex_expr): Rename to 'hash_value_expr'.
	(resolve_class_compcall,resolve_class_typebound_call): Renamed
	'vindex_expr'.
	(resolve_select_type): Replace $vindex by $vptr->$hash.
	* symbol.c (gfc_add_save): Handle vtab symbols.
	(gfc_type_compatible): Rewrite.
	(gfc_build_class_symbol): New function which replaces
	'encapsulate_class_symbol'.
	(gfc_find_derived_vtab): New function to set up a vtab symbol for a
	derived type.
	* trans-decl.c (gfc_create_module_variable): Handle vtab symbols.
	* trans-expr.c (select_class_proc): Replace vindex by hash_value.
	(gfc_conv_derived_to_class): New function to construct a temporary
	CLASS variable from a derived type expression.
	(gfc_conv_procedure_call): Call 'gfc_conv_derived_to_class'.
	(gfc_conv_structure): Initialize the $extends and $size fields of
	vtab symbols.
	(gfc_trans_class_assign): Replace $vindex by $vptr. Remove the $size
	assignment.
	* trans-intrinsic.c (gfc_conv_same_type_as): Replace $vindex by
	$vptr->$hash, and replace vindex by hash_value.
	* trans-stmt.c (gfc_trans_allocate): Insert $vptr references, replace
	$vindex by $vptr. Remove the $size assignment.
	* trans-types.c (gfc_get_derived_type): Make it non-static.


gcc/testsuite/

2009-11-30  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42053
	* gfortran.dg/select_type_9.f03: New.

2009-11-30  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41631
	* gfortran.dg/extends_type_of_1.f03: Fix invalid test case.
	* gfortran.dg/module_md5_1.f90: Adjusted MD5 sum.
	* gfortran.dg/select_type_1.f03: Remove FIXMEs.
	* gfortran.dg/select_type_2.f03: Ditto.
	* gfortran.dg/select_type_8.f03: New test.

2009-11-30  Janus Weil  <janus@gcc.gnu.org>

	* gfortran.dg/extends_type_of_1.f03: New test.
	* gfortran.dg/same_type_as_1.f03: Extended.

2009-11-30  Paul Thomas  <pault@gcc.gnu.org>

	* gfortran.dg/class_4c.f03: Add dg-additional-sources.
	* gfortran.dg/class_4d.f03: Rename module. Cleanup modules.


libgfortran/

2009-11-30  Janus Weil  <janus@gcc.gnu.org>

	* gfortran.map: Add _gfortran_is_extension_of.
	* Makefile.am: Add intrinsics/extends_type_of.c.
	* Makefile.in: Regenerated.
	* intrinsics/extends_type_of.c: New file.

From-SVN: r154840
2009-11-30 21:43:06 +01:00
boehm-gc mark_rts.c (GC_approx_sp): Use __builtin_frame_address when compiling with GCC rather than taking the... 2009-11-30 21:19:20 +11:00
config largefile.m4 (ACX_LARGEFILE): Require AC_CANONICAL_HOST and AC_CANONICAL_TARGET. 2009-11-30 16:38:14 +00:00
contrib Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
fixincludes inclhack.def (hpux_stdint_least_fast): Simplify. 2009-10-21 17:01:35 +00:00
gcc backport: re PR fortran/42053 ([OOP] SELECT TYPE: reject duplicate CLASS IS blocks) 2009-11-30 21:43:06 +01:00
gnattools Update AC_PREREQ entries to 2.64 2009-08-24 19:08:51 +00:00
include Checking this in for: Jonas Maebe <jonas.maebe@elis.ugent.be> 2009-11-06 14:36:57 +00:00
INSTALL
intl 2009-10-15 Jim Blandy <jimb@red-bean.com> 2009-10-15 08:56:02 +00:00
libada Makefile.in (GNATLIBCFLAGS_FOR_C): New variable. 2009-10-24 10:58:31 +00:00
libcpp macro.c (enter_macro_context): Call cb.used callback if defined. 2009-11-20 09:18:16 +01:00
libdecnumber sarray.c (sarray_free): Use old_buckets variable. 2009-11-28 21:31:39 +01:00
libffi re PR libffi/41908 (closures fail for some structure arguments containing floats) 2009-11-02 22:18:17 +01:00
libgcc re PR other/39888 (TLS emutls not linked to automatically on Darwin) 2009-11-18 08:36:12 +01:00
libgfortran backport: re PR fortran/42053 ([OOP] SELECT TYPE: reject duplicate CLASS IS blocks) 2009-11-30 21:43:06 +01:00
libgomp re PR fortran/42162 (OpenMP: ICE: tree check in omp_add_variable, at gimplify.c:5282) 2009-11-25 21:28:56 +01:00
libiberty configure.ac (AC_CHECK_FUNCS): Sort into alphabetical order. 2009-11-26 09:40:19 +11:00
libjava jni.cc (_Jv_JNI_GetObjectRefType): Mark `object' parameter as maybe unused. 2009-11-30 14:44:41 +11:00
libmudflap re PR libmudflap/41433 (security: mudflap accepts environment variables if setuid) 2009-09-22 16:17:50 +00:00
libobjc sarray.c (sarray_free): Use old_buckets variable. 2009-11-28 21:31:39 +01:00
libssp Update AC_PREREQ entries to 2.64 2009-08-24 19:08:51 +00:00
libstdc++-v3 2009-11-30 Paolo Carlini <paolo.carlini@oracle.com> 2009-11-30 13:34:25 +00:00
lto-plugin re PR bootstrap/42096 (lto.c:289:7: error: implicit declaration of function 'strtoll') 2009-11-19 15:30:04 +00:00
maintainer-scripts * update_web_docs_svn: Update BUGURL to http://gcc.gnu.org/bugs/. 2009-10-10 20:43:15 +00:00
zlib Update AC_PREREQ entries to 2.64 2009-08-24 19:08:51 +00:00
ABOUT-NLS
ChangeLog configure.ac: Update minimum MPC version to 0.8. 2009-11-30 06:12:16 +00:00
ChangeLog.tree-ssa
compile Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
config-ml.in
config.guess * config.guess: Update from upstream sources. 2009-11-20 09:47:13 +11:00
config.rpath
config.sub * config.sub, config.guess: Update from upstream sources. 2009-11-17 05:04:53 +11:00
configure configure.ac: Update minimum MPC version to 0.8. 2009-11-30 06:12:16 +00:00
configure.ac configure.ac: Update minimum MPC version to 0.8. 2009-11-30 06:12:16 +00:00
COPYING
COPYING.LIB
COPYING.RUNTIME Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
COPYING3
COPYING3.LIB
depcomp Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
install-sh Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
libtool-ldflags
libtool.m4 libtool.m4 (output_verbose_link_cmd): Require leading blank, and blank before -L. 2009-09-08 17:43:37 +00:00
ltgcc.m4
ltmain.sh ltmain.sh (removedotparts): Don't use comma as 's' separator. 2009-08-26 14:52:45 +00:00
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
MAINTAINERS * MAINTAINERS (Write After Approval): Update my email address. 2009-11-21 20:07:10 +00:00
Makefile.def Makefile.def: Restore host and target settings for gmp. 2009-11-16 22:56:33 +00:00
Makefile.in Makefile.def: Restore host and target settings for gmp. 2009-11-16 22:56:33 +00:00
Makefile.tpl configure.ac: Add libelf to host_libs. 2009-11-16 18:31:10 +00:00
missing Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
mkdep
mkinstalldirs Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
move-if-change
README README: Refer to the various COPYING* files instead of just COPYING. 2009-10-10 20:59:49 +00:00
symlink-tree
ylwrap Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.