From: Keith Seitz <keiths@redhat.com>
To: gdb-patches@sourceware.org
Subject: Re: [RFA] Add method overload resolution to expression parser
Date: Thu, 24 Sep 2009 19:30:00 -0000 [thread overview]
Message-ID: <4ABBC8D1.6010107@redhat.com> (raw)
In-Reply-To: <4A9D628B.1070300@redhat.com>
Ping
[I also have expanded tests for this in my next patch, which adds proper
C++ operator handling in the parser.]
On 09/01/2009 11:06 AM, Keith Seitz wrote:
> Hi,
>
> The attached patch is the first of several patches which will attempt
> mitigate the requirement of single-quoting every single C++ expression
> passed to the parser.
>
> This patch specifically adds method overload resolution into parser, so
> now gdb correctly understands "print foo::flubber(int)".
>
> I've added a few basic tests to gdb.cp/overload.exp, but when this
> series of patches is nearing completion, I will submit my archer
> "realcpp" tests, which are far more thorough (and currently causes gdb
> to crash a lot).
>
> Tested regression-free on x86 linux.
>
> Keith
>
> ChangeLog
> 2009-09-01 Keith Seitz <keiths@redhat.com>
>
> * c-exp.y: Add new rule for resolving method overloads.
> Add cleanups for nonempty_typelist. Changed all users.
> * eval.c (make_params): New function.
> (free_param_types): New function.
> (evaluate_subexp_standard): Pass expect_type to value_aggregate_elt.
> Handle case TYPE_INSTANCE.
> (evaluate_subexp_for_address): Pass expect_type to value_aggregate_elt.
> * expression.h (enum exp_opcode): Add TYPE_INSTANCE.
> (compare_parameters): Add declaration.
> * parse.c (operator_length_standard): Add TYPE_INSTANCE.
> * valops.c (value_aggregate_elt): Add new expect_type parameter.
> Pass expect_type to value_struct_elt_for_reference.
> (value_struct_elt_for_reference): Add expect_type parameter and use
> compare_parameters.
> Check for overload matches with and without artificial parameters.
> Skip artificial methods.
> (compare_parameters): New function.
> * value.h (value_aggregate_elt): Add new expect_type parameter.
>
> testsuite/ChangeLog
> 2009-09-01 Keith Seitz <keiths@redhat.com>
>
> * gdb.cp/overload.exp: Add tests for resolving overloaded
> methods in expression parsing/evaluation.
next prev parent reply other threads:[~2009-09-24 19:30 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-01 18:06 Keith Seitz
2009-09-24 19:30 ` Keith Seitz [this message]
2009-10-13 21:24 ` Tom Tromey
2009-11-09 21:55 ` Keith Seitz
2009-11-09 22:22 ` Tom Tromey
2009-11-09 23:35 ` Keith Seitz
2009-11-10 19:14 ` Daniel Jacobowitz
2009-11-10 22:19 ` Keith Seitz
2009-10-13 21:24 ` Daniel Jacobowitz
2009-10-14 18:54 ` Tom Tromey
2009-10-14 19:17 ` Daniel Jacobowitz
2009-10-14 19:29 ` Tom Tromey
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=4ABBC8D1.6010107@redhat.com \
--to=keiths@redhat.com \
--cc=gdb-patches@sourceware.org \
/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