From: "Ulrich Weigand" <uweigand@de.ibm.com>
To: sivachandra@google.com (Siva Chandra)
Cc: gdb-patches@sourceware.org (gdb-patches)
Subject: Re: [PATCH v4] Make chained function calls in expressions work
Date: Tue, 04 Nov 2014 15:40:00 -0000 [thread overview]
Message-ID: <201411041539.sA4Fd8ad024933@d03av02.boulder.ibm.com> (raw)
In-Reply-To: <CAGyQ6gw_ZkdHi-fP5tvKmBGhi9VgYK5eYZSFyhX6HSvZ0sUGcQ@mail.gmail.com> from "Siva Chandra" at Nov 04, 2014 07:08:05 AM
Siva Chandra wrote:
> On Tue, Nov 4, 2014 at 5:43 AM, Ulrich Weigand <uweigand@de.ibm.com> wrote:
> > Well, that's true. For simple structs, we would have to create a
> > temporary at the point of call when using a reference; we discussed
> > adding this anyway (it's necessary for scalars as well) ...
>
> I agree for scalars, but is it worth the effort to make this check for
> structs/unions? Consider this example:
>
> struct Simpler
> {
> char c;
> char getc ();
> };
>
> struct Simple
> {
> Simpler a, b;
> };
>
> Simple
> make_simple ()
> {
> Simple s;
> s.a.c = 'a';
> s.b.c = 'b';
> return s;
> }
>
> Simple does not have any methods, but Simpler has. The ABI returns
> objects of Simple type in register. However, one could have an
> expression like this: make_simple().a.geta() which is equivalent to
> f().g().
Hmm, OK. I guess one could check for all those cases, but in the end
it probably doesn't matter much. So I'm fine with the solution in your
patch to just do it for all classes/unions. We can always fine-tune
this further in the future if the need arises.
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU/Linux compilers and toolchain
Ulrich.Weigand@de.ibm.com
next prev parent reply other threads:[~2014-11-04 15:40 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-25 14:24 Siva Chandra
2014-11-03 14:35 ` Siva Chandra
2014-11-03 14:43 ` Ulrich Weigand
2014-11-03 19:55 ` Siva Chandra
2014-11-03 21:22 ` Siva Chandra
2014-11-04 13:43 ` Ulrich Weigand
2014-11-04 15:08 ` Siva Chandra
2014-11-04 15:40 ` Ulrich Weigand [this message]
2014-11-04 13:38 ` Ulrich Weigand
2014-11-04 14:26 ` Siva Chandra
2014-11-04 14:59 ` Ulrich Weigand
2014-11-04 15:23 ` Siva Chandra
2014-11-04 15:40 ` Ulrich Weigand
2014-11-11 14:55 ` Siva Chandra
2014-11-11 15:00 ` Siva Chandra
2014-11-11 15:21 ` Ulrich Weigand
2014-11-11 17:05 ` Siva Chandra
2014-11-12 16:08 ` Doug Evans
2014-11-12 17:29 ` Doug Evans
2014-11-13 3:00 ` Siva Chandra
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=201411041539.sA4Fd8ad024933@d03av02.boulder.ibm.com \
--to=uweigand@de.ibm.com \
--cc=gdb-patches@sourceware.org \
--cc=sivachandra@google.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