tree.c (is_overloaded_fn): Don't abort on placeholders from push_class_decls.
* tree.c (is_overloaded_fn): Don't abort on placeholders from push_class_decls. From-SVN: r19888
This commit is contained in:
parent
f85c8be787
commit
b8887b6323
3 changed files with 15 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
|||
Tue May 19 20:36:23 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||||
|
||||
* tree.c (is_overloaded_fn): Don't abort on placeholders from
|
||||
push_class_decls.
|
||||
|
||||
Tue May 19 15:16:22 1998 Brendan Kehoe <brendan@cygnus.com>
|
||||
|
||||
* class.c (is_empty_class): Return 0 if TYPE is an error_mark_node.
|
||||
|
|
|
@ -3495,7 +3495,11 @@ dfs_pushdecls (binfo)
|
|||
If we can't do that, keep a TREE_LIST with possibly ambiguous
|
||||
decls in there. */
|
||||
maybe_push_cache_obstack ();
|
||||
envelope_add_decl (type, OVL_CURRENT (*methods), &TREE_PURPOSE (class_value));
|
||||
/* Arbitrarily choose the first function in the list. This is OK
|
||||
because this is only used for initial lookup; anything that
|
||||
actually uses the function will look it up again. */
|
||||
envelope_add_decl (type, OVL_CURRENT (*methods),
|
||||
&TREE_PURPOSE (class_value));
|
||||
pop_obstacks ();
|
||||
|
||||
methods++;
|
||||
|
|
|
@ -1311,10 +1311,13 @@ int
|
|||
is_overloaded_fn (x)
|
||||
tree x;
|
||||
{
|
||||
/* XXX A baselink is also considered an overloaded function. */
|
||||
/* XXX A baselink is also considered an overloaded function.
|
||||
As is a placeholder from push_class_decls. */
|
||||
if (TREE_CODE (x) == TREE_LIST)
|
||||
{
|
||||
my_friendly_assert (TREE_CODE (TREE_PURPOSE (x)) == TREE_VEC, 388);
|
||||
my_friendly_assert (TREE_CODE (TREE_PURPOSE (x)) == TREE_VEC
|
||||
|| TREE_CODE (TREE_PURPOSE (x)) == IDENTIFIER_NODE,
|
||||
388);
|
||||
x = TREE_VALUE (x);
|
||||
}
|
||||
return (TREE_CODE (x) == FUNCTION_DECL
|
||||
|
|
Loading…
Add table
Reference in a new issue