Go to file
Nathan Sidwell 9965d11913 invoke.texi (-fdump-class-layout): Document.
gcc:
	* invoke.texi (-fdump-class-layout): Document.
	(-fdump-translation-unit): Use `=' as filename separator.
cp:
	Fix specification and implementation bugs in V3 ABI
	construction vtables.
	* cp-tree.h (flag_dump_class_layout): New flag.
	(BINFO_OVERRIDE_ALONG_VIRTUAL_PATH_P): Remove.
	(BINFO_LOST_PRIMARY_P): New flag.
	(SET_BINFO_NEW_VTABLE_MARKED): Adjust asserts.
	(BINFO_PRIMARY_MARKED_P): Rename to ...
	(BINFO_PRIMARY_P): ... here.
	(binfo_via_virtual): New prototype.
	* decl2.c (flag_dump_class_layout): New flag.
	(cxx_decode_option): Set it. Adjust -fdump-translation-unit to
	use `=' as a file name separator.
	* init.c (dfs_initialize_vtbl_ptrs): Walk into virtual primary
	bases.
	(build_vtbl_address): If this is a virtual primary base, then
	get the vtbl of what it is ultimately primary for.
	* search.c (dfs_skip_nonprimary_vbases_unmarkedp): Adjust
	for BINFO_PRIMARY_P.
	(dfs_skip_nonprimary_vbases_markedp): Likewise.
	(get_shared_vbase_if_not_primary): Likewise.
	(dfs_get_pure_virtuals): Likewise.
	(expand_upcast_fixups): Likewise.
	(fixup_virtual_upcast_offsets): Likewise.
	(dfs_find_vbase_instance): Likewise.
	(find_vbase_instance): Likewise.
	(binfo_from_vbase): Adjust comment to reflect reality.
	(binfo_via_virtual): New function.
	* class.c (VTT_TOP_LEVEL_P, VTT_MARKED_BINFO_P): New macros
	for binfo walking during VTT construction.
	(dfs_mark_primary_bases): Remove.
	(force_canonical_binfo_r): New function.
	(force_canonical_binfo): New function.
	(mark_primary_virtual_base): New function.
	(mark_primary_bases): Walk in inheritance graph order, use
	mark_primary_virtual_base.
	(determine_primary_base): Use some more intermediate variables.
	(dfs_find_final_overrider): Don't check for overriding along a
	virtual path.
	(dfs_modify_vtables): Walk into primary virtual bases too.
	(walk_subobject_offsets): Adjust for BINFO_PRIMARY_P.
	(build_base_fields): Likewise.
	(dfs_set_offset_for_unshared_vbases): Likewise.
	(layout_virtual_bases): Likewise.
	(end_of_class): Likewise.
	(finish_struct_1): Call dump_class_hierarchy, if requested.
	(dfs_get_primary_binfo): Use BINFO_TYPE for binfos.
	(dump_class_hierarchy_r): Add stream parameter. Emit more information.
	(dump_class_hierarchy): Add file parameter. Append to file, if
	required.
	(finish_vtbls): Adjust accumulate_vtbl_inits call.
	Use canonical base for virtual bases.
	(build_vtt): Add more comments. Adjust build_vtt_inits call.
	(build_vtt_inits): Remove VIRTUAL_VTTS_P parm.
	Only set BINFO_VPTR_INDEX on top level. Use VTT_TOP_LEVEL_P,
	VTT_MARKED_BINFO_P for binfo walking. Use canonical vbase for
	virtual VTTs.
	(dfs_build_secondary_vptr_vtt_inits): Extract VTT_TOP_LEVEL_P
	from DATA.  We want virtual primary bases and all bases via virtual.
	Only set BINFO_VPTR_INDEX for top level. Look up from a primary
	virtual base when not a construction vtable.
	(dfs_ctor_vtable_bases_queue_p): New DFS predicate.
	(build_ctor_vtbl_group): Adjust accumulate_vtbl_inits call.
	Use canonical bases when processing virtual bases.
	(accumulate_vtbl_inits): We're interested in any base via a
	virtual path.
	(dfs_accumulate_vtbl_inits): If this is a primary virtual base
	within a construction vtable, determine what is being overridden.
	(build_vtbl_initializer): Add more comments
	(add_vcall_offset_vtbl_entries_1): Adjust comment.
	(build_rtti_vtbl_entries): Check if the base has lost its
	primary.
testsuite:
	* g++.old-deja/g++.abi/primary2.C: New test.
	* g++.old-deja/g++.abi/primary3.C: New test.
	* g++.old-deja/g++.abi/primary4.C: New test.
	* g++.old-deja/g++.abi/primary5.C: New test.
	* g++.old-deja/g++.abi/vtable3.h: New test.
	* g++.old-deja/g++.abi/vtable3a.C: New test.
	* g++.old-deja/g++.abi/vtable3b.C: New test.
	* g++.old-deja/g++.abi/vtable3c.C: New test.
	* g++.old-deja/g++.abi/vtable3d.C: New test.
	* g++.old-deja/g++.abi/vtable3e.C: New test.
	* g++.old-deja/g++.abi/vtable3f.C: New test.
	* g++.old-deja/g++.abi/vtable3g.C: New test.
	* g++.old-deja/g++.abi/vtable3h.C: New test.
	* g++.old-deja/g++.abi/vtable3i.C: New test.
	* g++.old-deja/g++.abi/vtable3j.C: New test.
	* g++.old-deja/g++.oliva/thunk1.C: Remove XFAIL.

From-SVN: r39455
2001-02-05 11:45:16 +00:00
boehm-gc
config configure.in (target_makefile_frag): Use mt-alphaieee. 2001-01-27 22:59:00 -08:00
contrib texi2pod.pl: Handle "\,". 2001-01-24 19:47:47 +00:00
fastjar Makefile.in: Rebuilt. 2001-01-22 17:32:28 +00:00
gcc invoke.texi (-fdump-class-layout): Document. 2001-02-05 11:45:16 +00:00
include Add support for Java demangling under the v3 ABI: 2001-02-02 00:27:39 +00:00
INSTALL
libchill
libf2c Daily bump. 2001-02-05 01:45:08 -07:00
libffi
libiberty COPYING.LIB: Update to LGPL 2.1 from the FSF. 2001-02-02 19:38:01 +00:00
libio/config Remove libio 2001-02-05 11:01:36 +00:00
libjava configure.host: Use sjlj-exceptions for Alpha. 2001-02-05 05:49:44 +00:00
libobjc * objc-features.texi: Use @email. 2001-01-12 17:06:15 +00:00
libstdc++-v3 default.exp: New file. 2001-02-05 02:48:17 +00:00
zlib
.cvsignore
ChangeLog * config.if: Assume enable_libstdcxx_v3 is defined. 2001-02-05 11:02:20 +00:00
config-ml.in
config.guess
config.if * config.if: Assume enable_libstdcxx_v3 is defined. 2001-02-05 11:02:20 +00:00
config.sub
configure * configure: handle DOS-style absolute paths. 2001-01-02 10:44:40 -05:00
configure.in Remove V2 C++ library. 2001-02-05 01:38:47 +00:00
COPYING
COPYING.LIB COPYING.LIB: Update to LGPL 2.1 from the FSF. 2001-01-29 13:32:47 +00:00
install-sh
libtool.m4 ltcf-gcj.sh (lt_simple_link_test_code): Remove stray `(0)'. 2001-01-24 02:24:50 +00:00
ltcf-c.sh ltcf-c.sh (ld_shlibs): Disable on unknown CPU types. 2001-01-27 19:12:14 +00:00
ltcf-cxx.sh ltcf-cxx.sh (ac_cv_prog_cc_pic_works, [...]): Don't unset, it's non-portable and no longer necessary, set to empty instead. 2001-01-27 19:51:13 +00:00
ltcf-gcj.sh ltcf-c.sh (ld_shlibs): Disable on unknown CPU types. 2001-01-27 19:12:14 +00:00
ltconfig * ltconfig: Shell portability fix for the tagname validity check. 2001-01-27 19:48:46 +00:00
ltmain.sh ltmain.sh (TAG disable-shared, [...]): Make sure we keep at least one of build_libtool_libs or build_old_libs set to yes. 2001-01-24 20:08:50 +00:00
MAINTAINERS MAINTAINERS (Write After Approval): Add myself. 2001-01-21 01:13:52 +00:00
Makefile.in Makefile.in (CONFIGURE_TARGET_MODULES): Pass back configuration failures of subdirectories. 2001-01-09 18:55:41 +00:00
missing
mkdep
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.