public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
From: "simark at simark dot ca" <sourceware-bugzilla@sourceware.org>
To: gdb-prs@sourceware.org
Subject: [Bug gdb/28480] pretty printing getting confused
Date: Thu, 04 Nov 2021 17:56:57 +0000	[thread overview]
Message-ID: <bug-28480-4717-8cK1uma46y@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-28480-4717@http.sourceware.org/bugzilla/>

https://sourceware.org/bugzilla/show_bug.cgi?id=28480

--- Comment #14 from Simon Marchi <simark at simark dot ca> ---
(In reply to Jonathan Wakely from comment #12)
> Aha, the std::tuple case is more like this:
> 
> struct X
> {
>   int i = 0x1;
> };
> 
> struct Y
> {
>   struct S { };
>   [[no_unique_address]] S i;
> };
> 
> struct XX : X { };
> 
> struct Z : Y, XX { };
> 
> int main()
> {
>   Z z;
>   return 0;
> }

I think you can get rid of XX (make Z directly inherit from X) and it still
reproduces.

> 
> Here z.i is ambiguous, but GDB doesn't diagnose it.
> 
> And GDB 10 returns z.X::i but GDB 11 returns z.Y::i

If I try to use z.i in the program, it doesn't compile:

test.cpp: In function ‘int main()’:
test.cpp:17:12: error: request for member ‘i’ is ambiguous
   17 |   return z.i;
      |            ^
test.cpp:3:7: note: candidates are: ‘int X::i’
    3 |   int i = 0x1;
      |       ^
test.cpp:9:27: note:                 ‘Y::S Y::i’
    9 |   [[no_unique_address]] S i;
      |                           ^

So I agree, it makes sense for GDB to not accept the expression.  It looks like
the intent is to reject and (and print the "request is ambiguous" message), but
that the no_unique_address tag confuses GDB.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

  parent reply	other threads:[~2021-11-04 17:56 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-20 22:43 [Bug gdb/28480] New: " jwakely.gcc at gmail dot com
2021-10-21  0:44 ` [Bug gdb/28480] " jwakely.gcc at gmail dot com
2021-10-21  0:49 ` jwakely.gcc at gmail dot com
2021-10-21  0:56 ` jwakely.gcc at gmail dot com
2021-10-21  3:23 ` simark at simark dot ca
2021-10-21  8:44 ` jwakely.gcc at gmail dot com
2021-10-26 19:14 ` blarsen at redhat dot com
2021-11-04 16:01 ` blarsen at redhat dot com
2021-11-04 16:52 ` jwakely.gcc at gmail dot com
2021-11-04 17:06 ` jwakely.gcc at gmail dot com
2021-11-04 17:09 ` jwakely.gcc at gmail dot com
2021-11-04 17:36 ` jwakely.gcc at gmail dot com
2021-11-04 17:42 ` jwakely.gcc at gmail dot com
2021-11-04 17:53 ` jwakely.gcc at gmail dot com
2021-11-04 17:56 ` simark at simark dot ca [this message]
2021-11-04 17:59 ` simark at simark dot ca
2021-11-04 18:07 ` blarsen at redhat dot com
2021-11-04 18:45 ` pedro at palves dot net
2021-11-04 19:40 ` blarsen at redhat dot com
2021-11-05 13:53 ` blarsen at redhat dot com
2021-11-05 14:29 ` [Bug c++/28480] Incorrect field ambiguity detection due to [[no_unique_address]] simark at simark dot ca
2021-11-25 12:56 ` cvs-commit at gcc dot gnu.org
2021-11-25 15:25 ` blarsen at redhat dot com
2021-12-11  7:49 ` cvs-commit at gcc dot gnu.org

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=bug-28480-4717-8cK1uma46y@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=gdb-prs@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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).