Go to file
Javier Miranda 26bff3d98f exp_ch4.adb (Complete_Coextension_Finalization): Add machinery to handle the creation of finalization lists and calls for nested...
2007-04-20  Javier Miranda  <miranda@adacore.com>
	    Hristian Kirtchev  <kirtchev@adacore.com>
	    Bob Duff  <duff@adacore.com>

	* exp_ch4.adb (Complete_Coextension_Finalization): Add machinery to
	handle the creation of finalization lists and calls for nested
	coextensions when the root of the chains is part of a return statement.
	(Inside_A_Return_Statement): New function inside Complete_Coextension_
	Finalization.
	(Expand_Record_Equality): Skip components that are interface types.
	(Displace_Allocator_Pointer): Add missing support for interface subtypes
	(Expand_N_Allocator): Replace invocation of Is_Local_Access_Discriminant
	with Rewrite_Coextension. Change the condition for detecting coextension
	root nodes.
	(Is_Local_Access_Discriminant): Removed.
	(Rewrite_Coextension): New routine which rewrites a static coextension
	as a temporary and uses its unrestricted access in the construction of
	the outer object.
	(Complete_Coextension_Finalization): New routine. Generate finalization
	attachment calls to all delayed coextensions.
	(Expand_N_Allocator): Call Complete_Coextension_Finalization whenever
	the allocator is not a coextension itself and has delayed coextensions.
	If the current allocator is controlled, but also a coextension, delay
	the generation of the finalization attachment call.
	Rename local variable "Node" to "Nod" in order to avoid confusion with
	"Elists.Node".
	(Expand_Allocator_Expression): Call Adjust for initialized allocators of
	limited types that are not inherently limited. Such an allocator is
	illegal, but is generated by the expander for a return statement, to
	copy the result onto the secondary stack. This is the only case where a
	limited object can be copied. Generate code to displace the pointer
	to the object if the qualified expression is a class-wide interface
	object. Such displacement was missing and hence the copy of the object
	was wrong.
	(Apply_Accessibility_Check): Handle allocated objects initialized in
	place.
	(Displace_Allocator_Pointer): Subsidiary procedure to Expand_N_Allocator
	and Expand_Allocator_Expression. Allocating class-wide interface objects
	this routine displaces the pointer to the allocated object to reference
	the component referencing the corresponding secondary dispatch table.
	Expand_Allocator_Expression): Add missing support to allocate class-wide
	interface objects initialized with a qualified expression.
	(Get_Allocator_Final_List): Test for an anonymous access type that is a
	function result type, and use the finalization list associated with the
	function scope in that case (such an anonymous type should not be
	treated like an access parameter's type).

From-SVN: r125397
2007-06-06 12:25:12 +02:00
boehm-gc configure: Regenerate. 2007-06-02 08:18:15 +00:00
config mh-ppc-aix: Add default ADAFLAGS to BOOT_ADAFLAGS. 2007-06-04 07:48:28 +00:00
contrib * gennews (files): Reference GCC 4.2 web pages. 2007-05-14 00:33:48 +00:00
fixincludes inclhack.def (glibc_c99_inline_1): Define __USE_EXTERN_INLINES if __extern_inline or __GNUC_GNU_INLINE__ is... 2007-03-26 15:25:26 +02:00
gcc exp_ch4.adb (Complete_Coextension_Finalization): Add machinery to handle the creation of finalization lists and calls for nested... 2007-06-06 12:25:12 +02:00
gnattools re PR ada/28953 (Ada: Documentation for gprmake is missing) 2007-04-30 12:14:24 +02:00
include libiberty.h (writeargv): Declare. 2007-05-08 00:37:39 +00:00
INSTALL
intl Makefile.in (distclean): Delete config files. 2006-09-27 18:51:52 +09:30
libada * Makefile.in: Add dummy install-pdf target. 2007-03-01 16:05:13 -08:00
libcpp re PR preprocessor/23479 (Implement binary constants with a "0b" prefix) 2007-06-05 22:25:27 +00:00
libdecnumber Makefile.in (aclocal.m4): Depend on stdint.m4 instead of acx.m4. 2007-04-16 13:57:10 -07:00
libffi configure: Regenerate. 2007-06-02 08:18:15 +00:00
libgcc re PR target/29498 (FTZ/DAZ for SSE should be ported to mingw32) 2007-05-29 08:09:16 +00:00
libgfortran configure: Regenerate. 2007-06-02 08:18:15 +00:00
libgomp configure: Regenerate. 2007-06-02 08:18:15 +00:00
libiberty libiberty.h (writeargv): Declare. 2007-05-08 00:37:39 +00:00
libjava acinclude.m4: Accept GCJ and JIKES. 2007-06-04 10:05:52 +00:00
libmudflap configure: Regenerate. 2007-06-02 08:18:15 +00:00
libobjc configure.ac: Fix a typo in *-*-darwin clause. 2007-06-03 13:38:37 -07:00
libssp configure: Regenerate. 2007-06-02 08:18:15 +00:00
libstdc++-v3 type_traits (is_reference, [...]): Remove. 2007-06-02 17:24:09 +00:00
maintainer-scripts * gcc_release: Adjust placement of release candidates. 2007-05-28 22:11:18 +00:00
zlib configure: Regenerate. 2007-06-02 08:18:15 +00:00
ABOUT-NLS
ChangeLog Fix ChangeLog entry. 2007-06-01 06:46:37 -07:00
ChangeLog.tree-ssa
compile
config-ml.in * config-ml.in: Pass ${ml_config_env} to configure calls. 2007-04-14 19:48:36 +00:00
config.guess config.guess: Import latest version. 2006-12-11 15:11:34 +11:00
config.rpath all files: Update FSF address. 2005-07-16 02:30:53 +00:00
config.sub config.sub: Sync with src. 2007-02-09 16:31:28 +00:00
configure re PR bootstrap/29382 (Bootstrap comparison failure!) 2007-05-30 15:32:34 +02:00
configure.ac re PR bootstrap/29382 (Bootstrap comparison failure!) 2007-05-30 15:32:34 +02:00
COPYING
COPYING.LIB
depcomp
install-sh
libtool-ldflags libtool-ldflags: New script. 2006-01-03 00:30:27 +00:00
libtool.m4 libtool.m4 (LT_CMD_MAX_LEN): Try using getconf to set lt_cv_sys_max_cmd_len. 2007-06-01 11:32:07 +00:00
ltgcc.m4 [multiple changes] 2007-05-31 06:40:42 +00:00
ltmain.sh ltmain.sh: Fix Darwin verstring, remove ${wl}. 2007-05-25 21:26:27 +02:00
ltoptions.m4 ltmain.sh: Update from ToT Libtool. 2007-05-24 16:37:27 +00:00
ltsugar.m4 ltmain.sh: Update from ToT Libtool. 2007-05-24 16:37:27 +00:00
ltversion.m4 ltmain.sh: Update from ToT Libtool. 2007-05-24 16:37:27 +00:00
MAINTAINERS MAINTAINERS (Various Maintainers): Add myself as auto-vectorizer maintainer. 2007-05-31 17:05:23 +00:00
Makefile.def Makefile.def (bootstrap_stage): Replace stage_make_flags with stage_cflags. 2007-05-16 09:01:01 +00:00
Makefile.in Makefile.def (bootstrap_stage): Replace stage_make_flags with stage_cflags. 2007-05-16 09:01:01 +00:00
Makefile.tpl Makefile.def (bootstrap_stage): Replace stage_make_flags with stage_cflags. 2007-05-16 09:01:01 +00:00
missing
mkdep
mkinstalldirs
move-if-change Import from Autoconf sources: 2005-11-21 13:21:37 +11:00
README
README.SCO
symlink-tree
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the file 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.html for how to report bugs usefully.