c-objc-common.c (c_tree_printer): Handle types correctly.

* c-objc-common.c (c_tree_printer): Handle types correctly.
        Factor code a bit.

From-SVN: r73121
This commit is contained in:
Richard Henderson 2003-10-30 23:14:43 -08:00 committed by Richard Henderson
parent ad37274a97
commit c157f85cd5
2 changed files with 30 additions and 13 deletions

View File

@ -1,3 +1,8 @@
2003-10-30 Richard Henderson <rth@redhat.com>
* c-objc-common.c (c_tree_printer): Handle types correctly.
Factor code a bit.
2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
* value-prof.c, web.c: Update to C90.

View File

@ -293,29 +293,41 @@ static bool
c_tree_printer (pretty_printer *pp, text_info *text)
{
tree t = va_arg (*text->args_ptr, tree);
const char *n = "({anonymous})";
switch (*text->format_spec)
{
case 'D':
case 'F':
if (DECL_NAME (t))
n = (*lang_hooks.decl_printable_name) (t, 2);
break;
case 'T':
{
const char *n = DECL_NAME (t)
? (*lang_hooks.decl_printable_name) (t, 2)
: "({anonymous})";
pp_string (pp, n);
}
return true;
if (TREE_CODE (t) == TYPE_DECL)
{
if (DECL_NAME (t))
n = (*lang_hooks.decl_printable_name) (t, 2);
}
else
{
t = TYPE_NAME (t);
if (t)
n = IDENTIFIER_POINTER (t);
}
break;
case 'E':
if (TREE_CODE (t) == IDENTIFIER_NODE)
{
pp_string (pp, IDENTIFIER_POINTER (t));
return true;
}
return false;
if (TREE_CODE (t) == IDENTIFIER_NODE)
n = IDENTIFIER_POINTER (t);
else
return false;
break;
default:
return false;
}
pp_string (pp, n);
return true;
}