gcc/gcc/cp
Nathan Sidwell 623fe76a4c PR c++/3130, c++/3131, c++/3132
cp:
	PR c++/3130, c++/3131, c++/3132
	* cp-tree.h (BINFO_UNSHARED_MARKED): New #define.
	* class.c (force_canonical_binfo_r): Move
	BINFO_UNSHARED_MARKED, BINFO_LOST_PRIMARY_P. Don't move
	virtual bases unless they're primary and what they're primary
	too has been moved.
	(dfs_unshared_virtual_bases): Use BINFO_UNSHARED_MARKED. Cope
	with morally virtual bases. Duplicate BINFO_LOST_PRIMARY_P and
	BINFO_PRIMARY_BASE_OF. Clear BINFO_VTABLE for all but the most
	derived binfo.
	(mark_primary_bases): Use BINFO_UNSHARED_MARKED.
	(layout_nonempty_base_or_field): Add most derived type
	parameter. Adjust.
	(layout_empty_base): Likewise.
	(build_base_field): Likewise.
	(build_base_fields): Likewise.
	(propagate_binfo_offsets): Add most derived type
	parameter. Skip non canonical virtual bases too.
	(dfs_set_offset_for_unshared_vbases): Don't skip primary
	bases. Do skip canonical bases.
	(layout_virtual_bases): Adjust.
	(layout_class_type): Adjust.
	(dfs_get_primary_binfo): Build list of virtual primary base
	candidates.
	(get_primary_binfo): Check that the shared virtual primary
	base candidate was found first.
	(accumulate_vtbl_inits): Don't do anything for non-vptr
	containing binfos. For case 1 primary virtual bases, keep
	checking that we've not emerged from the hierarchy of RTTI_BINFO.
testsuite:
	* g++.old-deja/g++.abi/vbase5.C: New test.
	* g++.old-deja/g++.abi/vbase6.C: New test.
	* g++.old-deja/g++.abi/vbase7.C: New test.

From-SVN: r43266
2001-06-12 18:08:05 +00:00
..
.cvsignore Makefile.in (info, [...]): Also build and remove and install and uninstall c-tree.info and cppinternals.info. 2001-01-13 00:24:39 +00:00
ChangeLog PR c++/3130, c++/3131, c++/3132 2001-06-12 18:08:05 +00:00
ChangeLog.1 Fix spelling and formatting. 1999-04-13 22:45:50 +00:00
ChangeLog.2 split out <2000 entries 2000-07-01 23:01:47 -04:00
ChangeLog.egcs
Make-lang.in Makefile.in (c-parse.o): Depend on diagnostic.h 2001-06-10 13:48:04 +00:00
NEWS extend.texi: Mark named return value extension as deprecated. 2000-09-06 21:25:02 +00:00
call.c Makefile.in (c-parse.o): Depend on diagnostic.h 2001-06-10 13:48:04 +00:00
cfns.gperf cfns.gperf (hash, [...]): Prototype. 2000-04-04 20:46:23 +00:00
cfns.h cfns.gperf (hash, [...]): Prototype. 2000-04-04 20:46:23 +00:00
class.c PR c++/3130, c++/3131, c++/3132 2001-06-12 18:08:05 +00:00
config-lang.in configure.in: Simplify language enabling/disabling code. 2000-12-12 20:28:52 +00:00
cp-tree.def cp-tree.def (START_CATCH_STMT): Lose. 2001-05-21 11:39:19 -04:00
cp-tree.h PR c++/3130, c++/3131, c++/3132 2001-06-12 18:08:05 +00:00
cvt.c call.c: NULL_PTR -> NULL. 2001-05-02 14:38:35 +00:00
decl.c decl.c (duplicate_decls): Fix DECL_TEMPLATE_RESULT thinko in previous change. 2001-06-08 13:49:09 +00:00
decl.h call.c: PROTO -> PARAMS. 2000-01-26 20:51:37 +00:00
decl2.c cp-tree.h (THUNK_GENERATE_WITH_VTABLE_P): Lose. 2001-06-06 17:52:52 -04:00
dump.c c-common.h (flag_dump_translation_unit): Remove. 2001-06-05 08:03:45 +00:00
errfn.c extend.texi (Deprecated): Deprecate new initializer lists. 2001-02-12 14:29:13 +00:00
error.c IA-64 ABI Exception Handling. 2001-03-28 03:04:51 -08:00
except.c cp-tree.def (START_CATCH_STMT): Lose. 2001-05-21 11:39:19 -04:00
expr.c Reverted Geoff Keating's 2001-05-03's patch. 2001-05-12 10:37:48 +00:00
friend.c re PR c++/2929 (gcc crash when compiling a sample) 2001-06-08 12:49:02 +00:00
g++.1 gcc_update: Add gcc/gcc.1 to generated files. 2001-01-13 21:17:13 +00:00
g++spec.c gcc.c (init_gcc_specs): New function. 2001-02-02 17:42:00 +00:00
init.c call.c (build_op_delete_call): Ignore exception-specifications when looking for matching delete operators. 2001-05-22 00:31:36 +00:00
lang-options.h c-tree.texi: Update information about flag_honor_std. 2001-06-11 21:29:39 +00:00
lang-specs.h lang-specs.h: Move -D_GNU_SOURCE to config/linux.h. 2001-06-07 23:54:24 +00:00
lex.c Makefile.in (OBJS, [...]): Update. 2001-05-20 06:26:45 +00:00
lex.h Standardize header guards. 2001-05-25 18:31:47 -07:00
mangle.c mangle.c (write_chars): New macro. 2001-04-26 08:34:06 +00:00
method.c re PR c++/3061 (kde2/artsd miscompilation (part 2)) 2001-06-08 07:10:29 -04:00
mpw-config.in
mpw-make.sed
operators.def cp-tree.h (OPERATOR_ASSIGN_FORMAT): Remove. 2001-04-04 04:45:23 +00:00
optimize.c c-common.h (flag_dump_translation_unit): Remove. 2001-06-05 08:03:45 +00:00
parse.y parse.y: Refer to compound literals as such, not as constructor-expressions. 2001-05-22 18:58:43 +01:00
pt.c call.c (convert_default_arg): Use INTEGRAL_TYPE_P. 2001-06-06 17:10:52 +00:00
ptree.c pt.c (instantiate_decl): Abort if we see a member constant instantiation that doesn't already have its... 2001-03-21 19:55:13 -05:00
repo.c Makefile.in (c-parse.o): Depend on diagnostic.h 2001-06-10 13:48:04 +00:00
rtti.c class.c, [...]: Remove com_interface attribute support. 2001-05-22 15:42:30 -04:00
search.c cp-tree.h (THUNK_GENERATE_WITH_VTABLE_P): Lose. 2001-06-06 17:52:52 -04:00
semantics.c cp-tree.h (THUNK_GENERATE_WITH_VTABLE_P): Lose. 2001-06-06 17:52:52 -04:00
spew.c spew.c (read_token): Call yyerror on all unexpected tokens. 2001-05-16 09:37:21 +00:00
tree.c class.c, [...]: Remove com_interface attribute support. 2001-05-22 15:42:30 -04:00
typeck.c typeck.c (get_member_function_from_ptrfunc): Don't clobber delta. 2001-06-10 21:50:40 +00:00
typeck2.c Makefile.in (c-parse.o): Depend on diagnostic.h 2001-06-10 13:48:04 +00:00
xref.c collect2.c (main): Use concat in lieu of xmalloc/sprintf. 2001-04-23 00:36:28 +00:00