Go to file
Mark Mitchell 17bbb839f1 store-layout.c (finish_record_layout): Add free_p parameter.
* store-layout.c (finish_record_layout): Add free_p parameter.
	(layout_type): Pass it.
	* tree.h (finish_record_layout): Update prototype.

	* class.c (walk_subobject_offsets): Correct the calculation of
	offsets for virtual bases.  Correct the counting of array
	elements.
	(layout_nonempty_base_or_field): Simplify.  Correct the
	calculation of offsets to be propagated through the binfo
	hierarchy.
	(build_base_field): Avoid creating a FIELD_DECL for empty bases.
	Add the FIELD_DECL to TYPE_FIELDS.
	(build_base_fields): Adjust accordingly.
	(layout_virtual_bases): Use build_base_field.
	(end_of_class): Return a tree, not an integer.
	(warn_about_ambiguous_direct_bases): Rename to ...
	(warn_about_ambiguous_bases): ... this.
	(include_empty_classes): New function.
	(layout_class_type): Create an alternative version of the type to
	be used when as a base class type.  Do not call
	finish_record_layout until we are done laying out the class.
	* cp-tree.h (lang_type_class): Remove size, size_unit.  Add
	as_base.
	(CLASSTYPE_SIZE): Reimplement.
	(CLASSTYPE_SIZE_UNIT): Likewise.
	(CLASSTYPE_ALIGN): Likweise.
	(CLASSTYPE_USER_ALIGN): Likewise.
	(CLASSTYPE_AS_BASE): New macro.
	(DECL_INITIALIZED_P): Likewise.
	(extract_init): Remove prototype.
	(build_forced_zero_init): Rename to ...
	(build_zero_init): ... this.
	(force_store_init_value): Remove.
	* decl.c (obscure_complex_init): Remove.
	(duplicate_decls): Copy DECL_INITIALIZED_P.
	(check_initializer): Do not leave junk in DECL_INITIAL.
	(cp_finish_decl): Handle zero-initialization of entities with
	static storage duration.
	* expr.c (extract_init): Remove.
	* init.c (build_forced_zero_init): Remove.
	(build_zero_init): New function.
	(build_default_init): Use it.
	(build_field_list): Skip FIELD_DECLs for base subobjects.
	(push_base_cleanups): Likewise.
	* method.c (do_build_assign_ref): Likewise.
	(synthesize_exception_spec): Likewise.
	* pt.c (tsubst_decl): Clear DECL_INITIALIZED_P.
	(regenerate_decl_from_template): To not set DECL_INITIAL for a
	static data member whose initialization took place in its class.
	(instantiate_decl): Do not pass an initializer to cp_finish_decl
	in that situation.
	* search.c (dfs_push_decls): Skip FIELD_DECLs for base subobjects.
	(dfs_unuse_fields): Likewise.
	* tree.c (pod_type_p): Handle error_mark_node.
	(zero_init_p): Likewise.
	* typeck.c (lookup_anon_field): Skip FIELD_DECLs for base
	subobjects.
	* typeck2.c (store_init_value): Remove #if 0'd code.
	(force_store_init_value): Remove.
	(process_init_constructor): Use build_zero_init.

	* g++.dg/abi/empty7.C: New test.
	* g++.dg/init/pm2.C: Likewise.

From-SVN: r57654
2002-09-30 16:52:19 +00:00
boehm-gc gcconfig.h: Don't check for __XSCALE__. 2002-09-28 12:12:36 +00:00
config
contrib Makefile.def: New file. 2002-09-24 22:51:57 +00:00
fastjar
gcc store-layout.c (finish_record_layout): Add free_p parameter. 2002-09-30 16:52:19 +00:00
include libiberty.h (asprintf, vasprintf): Don't declare them if the corresponding HAVE_DECL_ macro is 1. 2002-09-20 00:21:54 +00:00
INSTALL
libf2c update_version: Do not check in files which are unchanged. 2002-09-24 03:44:36 +00:00
libffi configure.in: Add s390x-*-linux-* target. 2002-09-30 11:59:42 +00:00
libiberty Makefile.am (all-multi): Fix multilib parallel build. 2002-09-23 03:52:55 +00:00
libjava Add Proxy support. 2002-09-30 05:19:09 +00:00
libobjc Makefile.am (all-multi): Fix multilib parallel build. 2002-09-23 03:52:55 +00:00
libstdc++-v3 Daily bump. 2002-09-30 07:17:22 +00:00
maintainer-scripts update_version: Do not check in files which are unchanged. 2002-09-24 03:44:36 +00:00
zlib Makefile.am (all-multi): Fix multilib parallel build. 2002-09-23 03:52:55 +00:00
.cvsignore
ChangeLog * configure.in (s390*-*-linux*): Enable libgcj. 2002-09-30 12:15:00 +00:00
config-ml.in
config.guess
config.if
config.sub
configure configure: Revert accidentally applied changes. 2002-09-29 16:11:24 +00:00
configure.in * configure.in (s390*-*-linux*): Enable libgcj. 2002-09-30 12:15:00 +00:00
COPYING
COPYING.LIB
install-sh
libtool.m4
ltcf-c.sh
ltcf-cxx.sh
ltcf-gcj.sh
ltconfig
ltmain.sh
MAINTAINERS MAINTAINERS: Add aph@redhat.com as Java maintainer. 2002-09-25 11:16:42 +00:00
Makefile.def Makefile.tpl: Autogenerate *-target-* lists... 2002-09-25 16:49:39 +00:00
Makefile.in Makefile.tpl: Make more autoconf-friendly. 2002-09-29 15:53:23 +00:00
Makefile.tpl Makefile.tpl: Make more autoconf-friendly. 2002-09-29 15:53:23 +00: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 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.