This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PR11067 patch


On 02/08/10 17:32, Pedro Alves wrote:
On Monday 08 February 2010 21:54:22, Tom Tromey wrote:
"Chris" == Chris Moller<cmoller@redhat.com> writes:
Chris>  The attached patch fixes bug 11067 "p<enum constant>  should print the
Chris>  constant's value" by providing a means of setting a format string to
Chris>  be used in printing enums.  The string is set with

Chris> set enum-fmt<string>

I would rather not introduce a new option for this, particularly a
formatting option. We don't have this sort of thing elsewhere in gdb --
we just pick a printing format or two.

Ditto.


I re-read the thread on the archer list.  I propose having it print
like:

$2 = ENUMERATOR = (enum tag) 23

However, i would suppress the extra stuff in structs and when printing
in summary mode.

I seriously don't want to start a bikeshed, but, IMO, I don't think it's a good idea to to invent new output syntax for this. There's no need to print the type of the enum, that's what ptype is for. And we don't do it for any other type.

We can look at enum's as having both a numeric facet, and
a symbolic facet, just like "char"s, and those we print as

(gdb) p 'a'
$1 = 97 'a'

If I had a choice, I would make printing enums exactly like:

$2 = 23 'ENUMERATOR'

This is short, concise, and models existing output.  It
should look obvious what that output means.

And then users don't have to learn to recognize/identify
different outputs depending on where the type is
embedded or printed.  That sounds important usability
wise to me.

Has this option seriously been discarded?


As I said a few days ago, no matter what format I use, someone won't like it. I also asked The World to send me their objections /then/ rather than wait until I'd spent a couple of weekend nights coding the patch.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]