Go to file
Mark Mitchell 911a71a729 Allow indirect primary bases.
* cp-tree.h (struct lang_type): Remove vfield_parent.  Add
	primary_base.
	(CLASSTYPE_VFIELD_PARENT): Remove.
	(CLASSTYPE_PRIMARY_BINFO): Reimplement.
	(BINFO_PRIMARY_BINFO): Remove.
	(CLASSTYPE_HAS_PRIMARY_BASE_P): Reimplement.
	(BINFO_VBASE_PRIMARY_P): Likewise.
	(BINFO_PRIMARY_BASE_OF): New macro.
	(BINFO_INDIRECT_PRIMARY_P): Likewise.
	(get_primary_binfo): New function.
	* decl.c (lang_mark_tree): Make lang_type::primary_base.
	* class.c (vcall_offset_data_s): Rename to ...
	(vtbl_init_data_s): ... this.  Rename primary_p to primary_vtbl_p,
	and add ctor_vtbl_p.
	(get_derived_offset): Use get_primary_binfo.
	(dfs_mark_primary_bases): Adjust handling of virtual primary
	bases.
	(mark_primary_bases): Likewise.
	(set_primary_base): Take a binfo, not an integer, as a
	representation of the primary base.
	(indirect_primary_base_p): Remove.
	(determine_primary_base): Adjust for indirect primary bases.
	(dfs_find_final_overrider): Fix typo in coment.
	(update_vtable_entry_for_fn): Use get_primary_binfo.
	(layout_nonempty_base_or_field): Tweak.
	(build_base_fields): Adjust for new primary base semantics.
	(dfs_propagate_binfo_offsets): Remove.
	(propagate_binfo_offsets): Rewrite.
	(dfs_set_offset_for_shared_vbases): Remove.
	(layout_virtual_bases): Don't use it.
	(layout_class_type): Set CLASSTYPE_SIZE correctly under the new
	ABI.
	(finish_struct_1): Set CLASSTYPE_PRIMARY_BINFO, not
	CLASSTYPE_VFIELD_PARENT.
	(dfs_get_primary_binfo): New function.
	(get_primary_binfo): Likewise.
	(dump_class_hierarchy_r): Tweak printing of primary bases.
	(build_vtbl_initializer): Fix typo in comments.  Use
	vtbl_init_data.
	(build_vcall_and_vbase_vtbl_entries): Likewise.
	(build_vbaes_offset_vtbl_entries): Likewise.
	(dfs_build_vcall_offset_vtbl_entries): Adjust setting of
	BV_VCALL_INDEX to handle indirect primary bases.
	(build_vcall_offset_vtbl_entries): Use vtbl_init_data.
	(build_rtti_vtbl_entries): Likewise.
	* search.c (get_shared_vbase_if_not_primary): Tweak.
	(find_vbase_instance): Likewise.
	(binfo_for_vtable): Simplify.
	* tree.c (unshare_base_binfos): Clear BINFO_PRIMARY_BASE_OF.
	(make_binfo): Make it have 11 entries.

From-SVN: r35360
2000-07-31 00:24:44 +00:00
boehm-gc configure.in (THREADS): Don't --enable-threads on IRIX <= 5.*. 2000-07-24 04:20:09 +00:00
config mh-ia64pic: New file. 2000-07-21 14:11:08 +00:00
contrib
etc
gcc Allow indirect primary bases. 2000-07-31 00:24:44 +00:00
include tweak 2000-07-24 13:36:49 -04:00
INSTALL
libchill
libf2c Daily bump. 2000-07-30 01:45:07 -06:00
libffi
libiberty Fix typo. 2000-07-27 12:50:18 -06:00
libio * gen-params: Added trailing space for 'long long int' regexp. 2000-07-23 10:15:42 -06:00
libjava Container.java (remove(int)): Wrote. 2000-07-30 23:19:57 +00:00
libobjc Added libtool support for building libobjc. 2000-07-29 19:19:43 +00:00
libstdc++ valarray_array.h (__valarray_sum): Make inline. 2000-07-17 08:20:06 +00:00
libstdc++-v3 acinclude.m4: Include ../libtool.m4. 2000-07-28 17:56:27 +00:00
texinfo
zlib
.cvsignore merge with /cvs/src 2000-07-22 04:08:22 -04:00
ChangeLog configure.in (CC_FOR_TARGET, [...]): Do not override if already set in the environment or in configure. 2000-07-30 05:35:14 +00:00
config-ml.in configure.in: Use the same cache file for all target libs. 2000-07-24 04:29:33 +00:00
config.guess
config.if
config.sub merge with /cvs/src 2000-07-22 04:08:22 -04:00
configure * configure (topsrcdir): Don't use dirname. 2000-07-23 11:41:56 -06:00
configure.in configure.in (CC_FOR_TARGET, [...]): Do not override if already set in the environment or in configure. 2000-07-30 05:35:14 +00:00
COPYING
COPYING.LIB
djunpack.bat merge with /cvs/src 2000-07-22 04:08:22 -04:00
install-sh
libtool.m4 libtool.m4, [...]: New files from the libtool CVS tree multi-language branch. 2000-07-28 18:04:21 +00:00
ltcf-c.sh libtool.m4, [...]: New files from the libtool CVS tree multi-language branch. 2000-07-28 18:04:21 +00:00
ltcf-cxx.sh libtool.m4, [...]: New files from the libtool CVS tree multi-language branch. 2000-07-28 18:04:21 +00:00
ltcf-gcj.sh libtool.m4, [...]: New files from the libtool CVS tree multi-language branch. 2000-07-28 18:04:21 +00:00
ltconfig libtool.m4, [...]: New files from the libtool CVS tree multi-language branch. 2000-07-28 18:04:21 +00:00
ltmain.sh libtool.m4, [...]: New files from the libtool CVS tree multi-language branch. 2000-07-28 18:04:21 +00:00
MAINTAINERS Add Geoff K to the folks with global write permissions. 2000-07-26 19:28:25 -06:00
Makefile.in Makefile.in (clean-target-libgcc): Remove gcc/libgcc. 2000-07-28 02:22:17 +00:00
missing merge with /cvs/src 2000-07-22 04:08:22 -04:00
mkdep merge with /cvs/src 2000-07-22 04:08:22 -04:00
mkinstalldirs
move-if-change
README
symlink-tree
ylwrap

		   README for GNU development tools

This directory contains various GNU compilers, assemblers, linkers, 
debuggers, etc., plus their support routines, definitions, and documentation.


Check the INSTALL directory for detailed configuration and installation
instructions.


Much of the code and documentation enclosed is copyright by
the Free Software Foundation, Inc.  See the file COPYING or
COPYING.LIB in the various directories, for a description of the
GNU General Public License terms under which you can copy the files.

REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
on where and how to report problems.