c++: overload dumper
I frequently need to look at overload sets, and debug_node spews more information than is useful, most of the time. Here's a dumper for overloads, that just tells you their full name and where they came from. gcc/cp * ptree.c (debug_overload): New.
This commit is contained in:
parent
de09e7ebc9
commit
311281441c
@ -321,3 +321,19 @@ debug_tree (cp_expr node)
|
||||
{
|
||||
debug_tree (node.get_value());
|
||||
}
|
||||
|
||||
DEBUG_FUNCTION void
|
||||
debug_overload (tree node)
|
||||
{
|
||||
FILE *file = stdout;
|
||||
|
||||
for (lkp_iterator iter (node); iter; ++iter)
|
||||
{
|
||||
tree decl = *iter;
|
||||
auto xloc = expand_location (DECL_SOURCE_LOCATION (decl));
|
||||
auto fullname = decl_as_string (decl, 0);
|
||||
|
||||
fprintf (file, "%p: %s:%d:%d \"%s\"\n", (void *)decl,
|
||||
xloc.file, xloc.line, xloc.column, fullname);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user