Go to file
Paul Thomas 43a68a9df5 re PR fortran/63205 ([OOP] Wrongly rejects type = class (for identical declared type))
2015-02-06  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/63205
	* gfortran.h: Add 'must finalize' field to gfc_expr and
	prototypes for gfc_is_alloc_class_scalar_function and for
	gfc_is_alloc_class_array_function.
	* expr.c (gfc_is_alloc_class_scalar_function,
	gfc_is_alloc_class_array_function): New functions.
	* trans-array.c (gfc_add_loop_ss_code): Do not move the
	expression for allocatable class scalar functions outside the
	loop.
	(conv_array_index_offset): Cope with deltas being NULL_TREE.
	(build_class_array_ref): Do not return with allocatable class
	array functions. Add code to pick out the returned class array.
	Dereference if necessary and return if not a class object.
	(gfc_conv_scalarized_array_ref): Cope with offsets being NULL.
	(gfc_walk_function_expr): Return an array ss for the result of
	an allocatable class array function.
	* trans-expr.c (gfc_conv_subref_array_arg): Remove the assert
	that the argument should be a variable. If an allocatable class
	array function, set the offset to zero and skip the write-out
	loop in this case.
	(gfc_conv_procedure_call): Add allocatable class array function
	to the assert. Call gfc_conv_subref_array_arg for allocatable
	class array function arguments with derived type formal arg..
	Add the code for handling allocatable class functions, including
	finalization calls to prevent memory leaks.
	(arrayfunc_assign_needs_temporary): Return if an allocatable
	class array function.
	(gfc_trans_assignment_1): Set must_finalize to rhs expression
	for allocatable class functions. Set scalar_to_array as needed
	for scalar class allocatable functions assigned to an array.
	Nullify the allocatable components corresponding the the lhs
	derived type so that the finalization does not free them.

2015-02-06  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/63205
	* gfortran.dg/class_to_type_4.f90: New test

From-SVN: r220482
2015-02-06 18:15:01 +00:00
boehm-gc Include target-utils.exp in boehm-gc testing 2014-12-18 09:42:22 +00:00
config isl.m4: Don't pass -DCLOOG_INT_GMP on islinc. 2014-12-04 08:45:33 +00:00
contrib gcc_update (files_and_dependencies): Add rules for liboffloadmic and liboffloadmic/plugin. 2015-02-05 13:55:25 +00:00
fixincludes * fixincl.c (fix_applies) <case TT_CKSUM:>: Change C++ style comments. 2015-01-31 14:14:56 +01:00
gcc re PR fortran/63205 ([OOP] Wrongly rejects type = class (for identical declared type)) 2015-02-06 18:15:01 +00:00
gnattools
gotools re PR go/64738 (go, gofmt and cgo binaries linked statically) 2015-01-23 23:11:59 +00:00
include dwarf2.h (enum dwarf_source_language): Add DW_LANG_Fortran03 and DW_LANG_Fortran08. 2015-02-04 23:38:48 +01:00
INSTALL
intl
libada Update copyright years. 2015-01-05 13:33:28 +01:00
libatomic Avoid misaligned atomic operations 2015-01-21 09:17:03 -08:00
libbacktrace Move wrong ChangeLog entry from the toplevel ChangeLog to 2015-01-26 14:51:12 +00:00
libcc1 Always pass explicit location to fatal_error. 2015-01-30 16:15:00 +00:00
libcilkrts configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC. 2015-01-26 22:54:31 +00:00
libcpp PR preprocessor/64803 - __LINE__ inside macro is not constant 2015-02-03 10:26:46 +01:00
libdecnumber Update copyright years. 2015-01-05 13:33:28 +01:00
libffi re PR libffi/64855 (FAIL: libffi.call/* -W -Wall -Wno-psabi -O0 -DABI_NUM=* -DABI_ATTR=* execution test on x86_64-apple-darwin*) 2015-01-29 22:09:16 +00:00
libgcc fpmath-sf.S (__rl78_int_pack_a_r8): Fix edge case rounding up the fraction. 2015-02-04 16:39:16 +00:00
libgfortran PR libfortran/64770 Segfault when trying to open existing file with status="new". 2015-01-24 23:52:34 +02:00
libgo mksysinfo.sh: Remove _zone_net_addr_t handling. 2015-02-06 16:18:14 +00:00
libgomp re PR middle-end/64824 (ICE in gimple verification) 2015-02-04 23:32:36 +01:00
libiberty strerror.c: Do not declare sys_nerr or sys_errlist if already macros 2015-01-19 15:28:56 +00:00
libitm Make test2/test1 static in libitm.c/stackundo.c 2015-01-15 10:03:20 -08:00
libjava cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16. 2015-01-29 00:34:03 +00:00
libobjc Fix failures on AIX (PR libobjc/63765) 2015-02-05 09:41:44 +00:00
liboffloadmic Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
libquadmath configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC. 2015-01-26 14:57:41 +00:00
libsanitizer configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC. 2015-01-27 12:50:46 +00:00
libssp gets-chk.c: Declare prototype for gets in C11 mode. 2015-01-22 22:47:31 +00:00
libstdc++-v3 [PATCH][libstdc++][Testsuite] isctype test fails for newlib. 2015-02-04 09:24:56 +00:00
libvtv Committing generated configure & Makefile.in pieces of VTV Cygwin patch (from Patrick Wollgast). 2015-01-29 08:47:25 -08:00
lto-plugin Revert the PR lto/64837 fix 2015-02-06 05:55:42 -08:00
maintainer-scripts Fix 404 in "Show Source" in jit docs 2015-02-06 14:36:54 +00:00
zlib Always use PIC option with -shared in libtool 2014-11-21 08:49:17 -08:00
.dir-locals.el
.gitignore Local Vim config with GNU formatting. 2014-12-09 13:45:47 +00:00
ABOUT-NLS
ChangeLog MAINTAINERS (Various Maintainers: testsuite): Remove myself. 2015-02-02 16:40:20 +00:00
ChangeLog.jit
ChangeLog.tree-ssa
compile
config-ml.in
config.guess config.sub: Update from upstream, to 2015-01-01 version. 2015-01-02 09:30:21 +00:00
config.rpath
config.sub config.sub: Update from upstream, to 2015-01-01 version. 2015-01-02 09:30:21 +00:00
configure PR jit/64780: configure: --enable-host-shared and the jit 2015-01-29 16:25:14 +00:00
configure.ac PR jit/64780: configure: --enable-host-shared and the jit 2015-01-29 16:25:14 +00:00
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
COPYING.RUNTIME
depcomp
install-sh
libtool-ldflags
libtool.m4 Always use PIC option with -shared in libtool 2014-11-21 08:49:17 -08:00
lt~obsolete.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4 libtool.m4: Update to libtool 2.2.6. 2008-09-26 16:21:02 +00:00
ltversion.m4
MAINTAINERS MAINTAINERS (Various Maintainers: testsuite): Remove myself. 2015-02-02 16:40:20 +00:00
Makefile.def configure.ac (host_tools): Add gotools. 2015-01-09 21:23:09 +00:00
Makefile.in configure.ac (host_tools): Add gotools. 2015-01-09 21:23:09 +00:00
Makefile.tpl Bug #63539 2015-01-03 14:50:48 -08:00
missing
mkdep
mkinstalldirs
move-if-change
README
symlink-tree
ylwrap

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.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.