From: Jan Kratochvil <jan.kratochvil@redhat.com>
To: Keith Seitz <keiths@redhat.com>
Cc: Tom Tromey <tromey@redhat.com>, gdb-patches@sourceware.org
Subject: [patch 0/3] Re: [RFA] c++/11734 revisited (and c++/12273)
Date: Sun, 06 Feb 2011 22:45:00 -0000 [thread overview]
Message-ID: <20110206224548.GA5000@host1.dyn.jankratochvil.net> (raw)
In-Reply-To: <4D07CD68.5000700@redhat.com>
Hi Keith,
the patch
42284fdf9d8cdb20c8e833bdbdb2b56977fea525
http://sourceware.org/ml/gdb-cvs/2010-03/msg00082.html
dwarf2_physname patchset:
[RFA] dwarf2_physname FINAL
http://sourceware.org/ml/gdb-patches/2010-03/msg00220.html
contained three parts:
(a) Drop DW_AT_linkage_name use.
=>PR 12328 - the const/volatile qualifiers
=>PR 11734 non-decode_compound - psymtabs no longer having parameter types
* To be definitely kept in.
(b) switch from classname::any(any) linespec resolving by decode_variable
to the classname-scope aware decode_compound.
=>PR 11734 decode_compound - quoting fixup
=>PR 12273 - decode_compound not aware of minimal symbols
* Why to apply this part is this mail about.
(c) Some fixes of formerly unsupported linespecs (such as trailing ` const').
* Partial port to the legacy GDB codebase.
I do not fully understand the reasons for part (b). The old code is not nice
but IMO neither is the new code (already checked in by the physname patch) due to
the linespec.c caller. Moreover the new code has shown its regressions.
If the code should be nice I tried archer-jankratochvil-linespec where
linespec is based on the expressions. Noted by Daniel Jacobowitz before:
http://sourceware.org/ml/gdb-patches/2009-11/msg00266.html
It still has some regressions but the most common C++ cases work there and
I find it doable with some more time (mostly if the error messages can be
changed). The are problems with:
* expression evaluator cares about the function value (=address) where the
function symbol for linespec is already dropped.
* linespec should have no side effects. But the expression evaluator's
EVAL_AVOID_SIDE_EFFECTS mode cares only about types, not about values.
This "revert" series:
[patch 1/3] is revert of the parts (b)+(c).
[patch 2/3] is application of the 11734 non-decode_compound part psymtabs fix.
[patch 3/3] is reapplication of (c).
Afterwards there remain these regresions:
+FAIL: gdb.cp/pr12273.exp: setting breakpoint at GDB<int>::operator ==
+FAILs in gdb.java/jmisc.exp and gdb.java/jprint.exp
(IMHO gcj gdb.java/* should not be anything relevant with openjdk now.)
OTOH namespaces work better with these three "revert" patches while it does
not with the patches of yours under review. With the testfiles
http://sourceware.org/ml/gdb-patches/2011-01/msg00514.html
../gdb -nx gdb.cp/pr11734 -ex start -ex 'b pr11734::foo()'
Sure the namespaces could be fixed in your patchset, but also `operator =='
could be futher fixed up in these "revert" patches.
That is in general I would be either for futher not-nice fixing up the
pre-physname code or for the expression way like archer-jankratochvil-linespec
does. Still at the moment your patchset gives the best user experience, just
it is a new untested code which does not make it nice anyway.
Thanks,
Jan
next prev parent reply other threads:[~2011-02-06 22:45 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-09 0:50 [RFA] c++/11734 revisited Keith Seitz
2010-12-09 4:02 ` Eli Zaretskii
2010-12-09 21:45 ` Tom Tromey
2010-12-09 21:52 ` Jan Kratochvil
2010-12-10 15:21 ` Keith Seitz
2010-12-14 20:03 ` Keith Seitz
2011-01-24 18:15 ` Jan Kratochvil
2011-01-26 23:14 ` Jan Kratochvil
2011-02-06 22:04 ` Jan Kratochvil
2011-02-06 22:45 ` Jan Kratochvil [this message]
2011-02-08 21:42 ` [patch 0/3] Re: [RFA] c++/11734 revisited (and c++/12273) Tom Tromey
2011-02-10 21:45 ` Keith Seitz
2011-02-17 18:37 ` Keith Seitz
2011-02-18 3:24 ` Keith Seitz
2011-02-21 11:41 ` Jan Kratochvil
2011-02-24 20:41 ` Keith Seitz
2011-02-27 21:18 ` Jan Kratochvil
2011-03-01 22:00 ` Keith Seitz
2011-03-14 7:52 ` Jan Kratochvil
2011-03-15 19:03 ` Keith Seitz
2011-03-16 8:28 ` Jan Kratochvil
2011-03-16 13:58 ` Tom Tromey
2011-03-16 23:20 ` Keith Seitz
2011-03-17 3:19 ` Joel Brobecker
2011-03-17 9:11 ` Jan Kratochvil
2011-03-17 13:21 ` Joel Brobecker
2011-02-06 22:46 ` [patch 1/3] revert physname part (b) [Re: [RFA] c++/11734 revisited] Jan Kratochvil
2011-02-06 22:46 ` [patch 3/3] Various linespec fixups " Jan Kratochvil
2011-02-06 22:46 ` [patch 2/3] Keith's psymtabs fix " Jan Kratochvil
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=20110206224548.GA5000@host1.dyn.jankratochvil.net \
--to=jan.kratochvil@redhat.com \
--cc=gdb-patches@sourceware.org \
--cc=keiths@redhat.com \
--cc=tromey@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