error.c (dump_function_name): If T's DECL_LANG_SPECIFIC is null, just print the literal name and return.
* error.c (dump_function_name): If T's DECL_LANG_SPECIFIC is null, just print the literal name and return. From-SVN: r80058
This commit is contained in:
parent
97955d55bb
commit
93604b1a02
|
@ -1,3 +1,8 @@
|
|||
2004-03-29 Zack Weinberg <zack@codesourcery.com>
|
||||
|
||||
* error.c (dump_function_name): If T's DECL_LANG_SPECIFIC
|
||||
is null, just print the literal name and return.
|
||||
|
||||
2004-03-25 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/13294
|
||||
|
|
|
@ -1134,6 +1134,17 @@ dump_function_name (tree t, int flags)
|
|||
{
|
||||
tree name = DECL_NAME (t);
|
||||
|
||||
/* We can get here with a decl that was synthesized by language-
|
||||
independent machinery (e.g. coverage.c) in which case it won't
|
||||
have a lang_specific structure attached and DECL_CONSTRUCTOR_P
|
||||
will crash. In this case it is safe just to print out the
|
||||
literal name. */
|
||||
if (!DECL_LANG_SPECIFIC (t))
|
||||
{
|
||||
pp_tree_identifier (cxx_pp, name);
|
||||
return;
|
||||
}
|
||||
|
||||
if (TREE_CODE (t) == TEMPLATE_DECL)
|
||||
t = DECL_TEMPLATE_RESULT (t);
|
||||
|
||||
|
@ -1163,7 +1174,7 @@ dump_function_name (tree t, int flags)
|
|||
else
|
||||
dump_decl (name, flags);
|
||||
|
||||
if (DECL_LANG_SPECIFIC (t) && DECL_TEMPLATE_INFO (t)
|
||||
if (DECL_TEMPLATE_INFO (t)
|
||||
&& !DECL_FRIEND_PSEUDO_TEMPLATE_INSTANTIATION (t)
|
||||
&& (DECL_TEMPLATE_SPECIALIZATION (t)
|
||||
|| TREE_CODE (DECL_TI_TEMPLATE (t)) != TEMPLATE_DECL
|
||||
|
|
Loading…
Reference in New Issue