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:
Nathan Sidwell 2020-08-24 06:28:37 -07:00
parent de09e7ebc9
commit 311281441c

View File

@ -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);
}
}