* src/symtab.h, src/symtab.c (symbol_print): New.

* src/symlist.h, src/symlist.c (symbol_list_print): New.
* src/symlist.c (symbol_list_n_type_name_get): Report the culprit.
This commit is contained in:
Akim Demaille
2005-07-12 13:41:58 +00:00
parent fa0e93148c
commit 867a3e0085
5 changed files with 49 additions and 6 deletions

View File

@@ -74,6 +74,25 @@ symbol_new (uniqstr tag, location loc)
}
/*-----------------.
| Print a symbol. |
`-----------------*/
#define SYMBOL_ATTR_PRINT(Attr) \
if (s->Attr) \
fprintf (stderr, " %s { %s }", #Attr, s->Attr)
void
symbol_print (FILE *f, symbol *s)
{
fprintf (stderr, "\"%s\"", s->tag);
SYMBOL_ATTR_PRINT (type_name);
SYMBOL_ATTR_PRINT (destructor);
SYMBOL_ATTR_PRINT (printer);
}
#undef SYMBOL_ATTR_PRINT
/*------------------------------------------------------------------.
| Complain that S's WHAT is redeclared at SECOND, and was first set |
| at FIRST. |