Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: mec.gnu@mindspring.com (Michael Elizabeth Chastain)
To: carlton@kealia.com, mec.gnu@mindspring.com
Cc: eliz@gnu.org, gdb-patches@sources.redhat.com
Subject: Re: [rfa/doco] PROBLEMS: add regressions since gdb 6.0
Date: Fri, 19 Mar 2004 00:09:00 -0000	[thread overview]
Message-ID: <20040317185528.87D7A4B104@berman.michael-chastain.com> (raw)
Message-ID: <20040319000900.PRCtvcmMt8B80XAG76pqvvMa0OP-_JG4hatYoZ5foE8@z> (raw)

mec> gdb/826: variables in C++ namespaces have to be enclosed in quotes
mec> 
mec> When referring to a variable in C++ code that is inside a
mec> namespace, you have to put it inside single quotes.

dc> This is only true in rare circumstances, and it was always true in
dc> versions before 6.1!  So whatever it might be, it's not a regression.
dc> (Hmm: I should probably close that bug report, since it should largely
dc> be fixed by now.)

This test case works with gdb 6.0 and it does not work with gdb gdb-6_1-branch.

  # gdb 6.0, gcc 3.3.3, -gstabs+
  (gdb) print (ClassWithEnum::PrivEnum) 42
  $26 = yellow
  PASS: gdb.cp/classes.exp: print (ClassWithEnum::PrivEnum) 42

  # gdb gdb-6_1-branch, gcc 3.3.3, -gstabs+
  (gdb) print (ClassWithEnum::PrivEnum) 42
  A syntax error in expression, near `42'.
  KFAIL: gdb.cp/classes.exp: print (ClassWithEnum::PrivEnum) 42 (PRMS: gdb/826)

Actually, the word 'variable' is funny, because ClassWithEnum::PrivEnum
is a type, not a variable.  But that's what the test script calls this
problem.  And it's definitely a regression.

mec> gdb/931: GDB could be more generous when reading types C++
mec> templates on input
mec> 
mec> When the user types a template, GDB frequently requires the type to be
mec> typed in a certain way (e.g. "const char*" as opposed to "const char *"
mec> or "char const *" or "char const*").

dc> This also has always been the case.  It is the case that GDB's
dc> preferred form has, in some circumstances changed from 6.0 to 6.1, but
dc> GDB has always had a preferred form.

Yes, I know.  If a user has a gdb script which pre-sets a lot of
breakpoints with "break 'Foo<volatile char*>::foo", they have to change
their script with each release of gdb.  That's why I consider this a
regression, because it breaks user scripts.  The regression in the
test scripts is just an indicator that user scripts will break too.
But it was worth some more text here.

mec> gdb/1512: no canonical way to output names of C++ types
mec> 
mec> We currently don't have any canonical way to output names of C++ types.
mec> E.g. "const char *" versus "char const *"; more subtleties aries when
mec> dealing with templates.

dc> Again, this has always been the case - this isn't a regression.

This is more subtle.  gdb has scripted input, but how many people have
scripted output for gdb?

That is, when gdb changes its output from this:

  (gdb) ptype fvpchar
  type = class Foo<volatile char *> {

to this:

  (gdb) ptype fvpchar
  type = class Foo<char volatile *> {

Is that going to break a contract we have with the users?  Are there any
users that are going to be affected, such as front ends that are parsing
or gdb's output?

I'm inclined to say "yes", because we do consider the second form
a KFAIL.  If both output forms are okay then I think the test script
should test them both.  But I'm more flexible on this than I am on
*input* form, where anything that used to be accepted in 6.0 and
is no longer accepted in 6.1 is likely to break a user script.

Michael C


             reply	other threads:[~2004-03-17 18:55 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-17 18:55 Michael Elizabeth Chastain [this message]
2004-03-17 19:03 ` David Carlton
2004-03-19  0:09   ` David Carlton
2004-03-19  0:09 ` David Carlton
2004-03-17 19:16   ` David Carlton
2004-03-19  0:09 ` Michael Elizabeth Chastain
  -- strict thread matches above, loose matches on Subject: below --
2004-03-19  0:09 Michael Elizabeth Chastain
2004-03-17  6:58 ` Michael Elizabeth Chastain
2004-03-19  0:09 Michael Elizabeth Chastain
2004-03-18 16:23 ` Michael Elizabeth Chastain
2004-03-19  0:09 ` David Carlton
2004-03-18 16:45   ` David Carlton
2004-03-19  0:09 ` Andrew Cagney
2004-03-19  0:27   ` Daniel Jacobowitz
2004-03-19 14:56     ` Eli Zaretskii
2004-03-19 15:03     ` Andrew Cagney
2004-03-19 15:33       ` Eli Zaretskii
2004-03-19 15:54         ` Andrew Cagney
2004-03-20 15:38           ` Eli Zaretskii
2004-03-19  0:09 Michael Elizabeth Chastain
2004-03-17 20:15 ` Michael Elizabeth Chastain
2004-03-19  0:09 Michael Elizabeth Chastain
2004-03-17 19:30 ` Michael Elizabeth Chastain
2004-03-17 19:48 ` David Carlton
2004-03-19  0:09   ` Eli Zaretskii
2004-03-18  6:06     ` Eli Zaretskii
2004-03-19  0:09   ` David Carlton
2004-03-19  0:09 Michael Elizabeth Chastain
2004-03-17 18:21 ` Michael Elizabeth Chastain
2004-03-17 22:11 ` Andrew Cagney
2004-03-19  0:09   ` Andrew Cagney
2004-03-19  0:09 Michael Elizabeth Chastain
2004-03-17 19:21 ` Michael Elizabeth Chastain
2004-03-17 22:54 Michael Elizabeth Chastain
2004-03-17 23:39 ` Andrew Cagney
2004-03-18  6:16   ` Eli Zaretskii
2004-03-18 16:05     ` Andrew Cagney
2004-03-18 16:52       ` Eli Zaretskii
2004-03-19  0:09         ` Eli Zaretskii
2004-03-19  0:09       ` Andrew Cagney
2004-03-19  0:09     ` Eli Zaretskii
2004-03-19  0:09   ` Andrew Cagney
2004-03-19  0:09 ` Michael Elizabeth Chastain
2004-03-17  1:53 Michael Elizabeth Chastain
2004-03-17 16:13 ` Andrew Cagney
2004-03-19  0:09   ` Andrew Cagney
2004-03-17 17:05 ` David Carlton
2004-03-19  0:09   ` David Carlton
2004-03-19  0:09 ` Michael Elizabeth Chastain
2004-03-19  0:09 ` David Carlton
2004-03-17 17:19   ` David Carlton
2004-03-19  0:09   ` Eli Zaretskii
2004-03-17 19:07     ` Eli Zaretskii
2004-03-19  0:09     ` Andrew Cagney
2004-03-17 22:11       ` Andrew Cagney
2004-03-19  0:09       ` Eli Zaretskii
2004-03-18  6:11         ` Eli Zaretskii
2004-03-18 16:36         ` Daniel Jacobowitz
2004-03-19  0:09           ` Andrew Cagney
2004-03-19  0:25             ` Daniel Jacobowitz
2004-03-19  0:09           ` Daniel Jacobowitz
2004-03-19  0:09           ` Eli Zaretskii
2004-03-18 16:55             ` Eli Zaretskii
2004-03-19  0:09     ` David Carlton
2004-03-17 19:18       ` David Carlton
2004-03-19  0:09 ` Eli Zaretskii
2004-03-17  6:16   ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040317185528.87D7A4B104@berman.michael-chastain.com \
    --to=mec.gnu@mindspring.com \
    --cc=carlton@kealia.com \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox