This is the mail archive of the
mailing list for the GCC project.
Unifying the GCC Debugging Interface
- From: Lawrence Crowl <crowl at googlers dot com>
- To: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Wed, 14 Nov 2012 17:12:15 -0800
- Subject: Unifying the GCC Debugging Interface
Diego and I seek your comments on the following (loose) proposal.
It is sometimes hard to remember which printing function is used
for debugging a type, or even which type you have.
We propose to rely on overloading to unify the interface to a small
set of function names. Every major data type should have associated
debug/dump functionality. We will unify the current *_dump/*_debug
functions under the same common overloaded name.
We intend to only apply this approach to functions that take the
type to display as an argument, and that are routinely used in
We propose to provide several function overload sets, as below.
This function overload set provides the bulk of the printing.
They will use the existing pretty-printer functions in their
This function overload set provides the raw oriented dump,
e.g. a tuple.
This function overload set provides the extra details dump.
All of these functions come in two forms.
function (FILE *, item_to_dump, formatting)
function (item_to_dump, formatting)
If the FILE* is not specified, the output is to stderr. The
formatting argument is optional, with a default suitable to the kind
of item to dump.
We should remove tree-browser.c. It is not used at all and it is