Commit 39876352 by Mark Mitchell Committed by Mark Mitchell

re PR debug/12103 (-g only crash (segfault) with a forward declared class used…

re PR debug/12103 (-g only crash (segfault) with a forward declared class used as a template parameter)

	PR debug/12103
	* class.c (update_vtable_entry_for_fn): Do not go through
	covariance machinery if the type returned by an overrider is the
	same as the original.

	PR debug/12103
	* g++.dg/debug/crash1.C: New test.

From-SVN: r78680
parent 8bb915b6
2004-02-29 Mark Mitchell <mark@codesourcery.com>
PR debug/12103
* class.c (update_vtable_entry_for_fn): Do not go through
covariance machinery if the type returned by an overrider is the
same as the original.
2004-02-29 Kazu Hirata <kazu@cs.umass.edu>
* call.c: Fix a comment typo.
......
......@@ -2090,7 +2090,8 @@ update_vtable_entry_for_fn (tree t, tree binfo, tree fn, tree* virtuals,
TREE_VALUE (purpose_member
(BINFO_TYPE (virtual_offset),
CLASSTYPE_VBASECLASSES (TREE_TYPE (over_return))));
else
else if (!same_type_p (TREE_TYPE (over_return),
TREE_TYPE (base_return)))
{
/* There was no existing virtual thunk (which takes
precedence). */
......
2004-02-29 Mark Mitchell <mark@codesourcery.com>
PR debug/12103
* g++.dg/debug/crash1.C: New test.
2004-02-29 Kazu Hirata <kazu@cs.umass.edu>
* gcc.dg/sibcall-3.c (recurser_void1): Make it an extern
......
template <typename T>
class foo
{
T t;
};
class bar;
typedef foo<bar> foobar;
class obj
{
virtual foobar* yeah() = 0;
};
class bar : virtual public obj
{
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment