public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug python/15464] New: Accessing anonymous unions from Python
@ 2013-05-14  9:36 andre.poenitz at digia dot com
  2013-05-14 13:26 ` [Bug python/15464] " tromey at redhat dot com
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: andre.poenitz at digia dot com @ 2013-05-14  9:36 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=15464

             Bug #: 15464
           Summary: Accessing anonymous unions from Python
           Product: gdb
           Version: unknown
            Status: NEW
          Severity: normal
          Priority: P2
         Component: python
        AssignedTo: unassigned@sourceware.org
        ReportedBy: andre.poenitz@digia.com
    Classification: Unclassified


If I have a 

  struct X { union { Y y; Z z; } } x; 

and later 

  a = gdb.parse_and_eval("x")

there seems to be no easy way to access the "union" "level".

'a' itself is the struct, 'a["y"]' transparently skips the union and gives the
named member.

It would be nice if there was a way to iterate through the children of the
struct. MI/varobjs nowaday seem to have that ability.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug python/15464] Accessing anonymous unions from Python
  2013-05-14  9:36 [Bug python/15464] New: Accessing anonymous unions from Python andre.poenitz at digia dot com
@ 2013-05-14 13:26 ` tromey at redhat dot com
  2013-12-27  6:38 ` tromey at redhat dot com
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: tromey at redhat dot com @ 2013-05-14 13:26 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=15464

Tom Tromey <tromey at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tromey at redhat dot com

--- Comment #1 from Tom Tromey <tromey at redhat dot com> 2013-05-14 13:26:36 UTC ---
A good way would be to let the user use a gdb.Field
as the argument to [].

Iterating over the field values directly might be handy too.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug python/15464] Accessing anonymous unions from Python
  2013-05-14  9:36 [Bug python/15464] New: Accessing anonymous unions from Python andre.poenitz at digia dot com
  2013-05-14 13:26 ` [Bug python/15464] " tromey at redhat dot com
@ 2013-12-27  6:38 ` tromey at redhat dot com
  2013-12-30 17:03 ` poenitz at htwm dot de
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: tromey at redhat dot com @ 2013-12-27  6:38 UTC (permalink / raw)
  To: gdb-prs

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

Tom Tromey <tromey at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |DUPLICATE

--- Comment #2 from Tom Tromey <tromey at redhat dot com> ---
I think this was fixed by the patch for bug #16113.

*** This bug has been marked as a duplicate of bug 16113 ***

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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug python/15464] Accessing anonymous unions from Python
  2013-05-14  9:36 [Bug python/15464] New: Accessing anonymous unions from Python andre.poenitz at digia dot com
  2013-05-14 13:26 ` [Bug python/15464] " tromey at redhat dot com
  2013-12-27  6:38 ` tromey at redhat dot com
@ 2013-12-30 17:03 ` poenitz at htwm dot de
  2014-01-14  1:44 ` cvs-commit at gcc dot gnu.org
  2014-01-15 13:12 ` cvs-commit at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: poenitz at htwm dot de @ 2013-12-30 17:03 UTC (permalink / raw)
  To: gdb-prs

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

Andre' <poenitz at htwm dot de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |poenitz at htwm dot de

--- Comment #3 from Andre' <poenitz at htwm dot de> ---
I can confirm that the union is now accessible using type.fields()[0] as index.

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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug python/15464] Accessing anonymous unions from Python
  2013-05-14  9:36 [Bug python/15464] New: Accessing anonymous unions from Python andre.poenitz at digia dot com
                   ` (2 preceding siblings ...)
  2013-12-30 17:03 ` poenitz at htwm dot de
@ 2014-01-14  1:44 ` cvs-commit at gcc dot gnu.org
  2014-01-15 13:12 ` cvs-commit at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2014-01-14  1:44 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=15464

--- Comment #4 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, master has been updated
       via  b5b08fb4ffa53ec088f8ad865bee0fd6edb2906f (commit)
      from  13aaf454542c1028a033ac836d7a0d47c63a7029 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b5b08fb4ffa53ec088f8ad865bee0fd6edb2906f

commit b5b08fb4ffa53ec088f8ad865bee0fd6edb2906f
Author: Siva Chandra <sivachandra@chromium.org>
Date:   Fri Dec 27 12:20:59 2013 -0800

    Use bitpos and type to lookup a gdb.Field object when its name is 'None'.

        PR python/15464
        PR python/16113
        * valops.c (value_struct_elt_bitpos): New function
        * py-type.c (convert_field): Set 'name' attribute of a gdb.Field
        object to 'None' if the field name is an empty string ("").
        * python/py-value.c (valpy_getitem): Use 'bitpos' and 'type'
        attribute to look for a field when 'name' is 'None'.
        (get_field_type): New function

        testsuite/
        * gdb.python/py-type.c: Enhance test case.
        * gdb.python/py-value-cc.cc: Likewise
        * gdb.python/py-type.exp: Add new tests.
        * gdb.python/py-value-cc.exp: Likewise

-----------------------------------------------------------------------

Summary of changes:
 gdb/ChangeLog                            |   11 ++++
 gdb/python/py-type.c                     |   15 ++++--
 gdb/python/py-value.c                    |   80 ++++++++++++++++++++++++-----
 gdb/testsuite/ChangeLog                  |    9 +++
 gdb/testsuite/gdb.python/py-type.c       |    9 +++
 gdb/testsuite/gdb.python/py-type.exp     |    9 +++
 gdb/testsuite/gdb.python/py-value-cc.cc  |   23 +++++++++
 gdb/testsuite/gdb.python/py-value-cc.exp |   20 +++++++
 gdb/valops.c                             |   45 +++++++++++++++++
 gdb/value.h                              |    5 ++
 10 files changed, 208 insertions(+), 18 deletions(-)

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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug python/15464] Accessing anonymous unions from Python
  2013-05-14  9:36 [Bug python/15464] New: Accessing anonymous unions from Python andre.poenitz at digia dot com
                   ` (3 preceding siblings ...)
  2014-01-14  1:44 ` cvs-commit at gcc dot gnu.org
@ 2014-01-15 13:12 ` cvs-commit at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2014-01-15 13:12 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=15464

--- Comment #5 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, gdb-7.7-branch has been updated
       via  74e03f4a7024cf058b68999761f39df7e0606237 (commit)
       via  9316c9e157cd0e61380a65d26259ad6dec1907d4 (commit)
       via  2afbe22710d4c747cb5bec639cd1c2a699c17068 (commit)
      from  f96d41e073bde8b376982228758e2d708777936d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=74e03f4a7024cf058b68999761f39df7e0606237

commit 74e03f4a7024cf058b68999761f39df7e0606237
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Wed Jan 15 16:40:22 2014 +0400

    Fix small style violation in py-value.c:get_field_type

    gdb/ChangeLog:

            * python/py-value.c (get_field_type): Remove unnecessary curly
            braces for single-statement if block.

    Tested on x86_64-linux.

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=9316c9e157cd0e61380a65d26259ad6dec1907d4

commit 9316c9e157cd0e61380a65d26259ad6dec1907d4
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Wed Jan 15 16:28:08 2014 +0400

    Add missing empty line after declarations in "if" block (py-type.c).

    This patch fixes a small coding-style violation...

    gdb/ChangeLog:

            * python/py-type.c (convert_field): Add missing empty line
            after declarations.

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2afbe22710d4c747cb5bec639cd1c2a699c17068

commit 2afbe22710d4c747cb5bec639cd1c2a699c17068
Author: Siva Chandra <sivachandra@chromium.org>
Date:   Fri Dec 27 12:20:59 2013 -0800

    Use bitpos and type to lookup a gdb.Field object when its name is 'None'.

        PR python/15464
        PR python/16113
        * valops.c (value_struct_elt_bitpos): New function
        * py-type.c (convert_field): Set 'name' attribute of a gdb.Field
        object to 'None' if the field name is an empty string ("").
        * python/py-value.c (valpy_getitem): Use 'bitpos' and 'type'
        attribute to look for a field when 'name' is 'None'.
        (get_field_type): New function

        testsuite/
        * gdb.python/py-type.c: Enhance test case.
        * gdb.python/py-value-cc.cc: Likewise
        * gdb.python/py-type.exp: Add new tests.
        * gdb.python/py-value-cc.exp: Likewise

-----------------------------------------------------------------------

Summary of changes:
 gdb/ChangeLog                            |   21 ++++++++
 gdb/python/py-type.c                     |   16 +++++--
 gdb/python/py-value.c                    |   78 ++++++++++++++++++++++++-----
 gdb/testsuite/ChangeLog                  |    9 ++++
 gdb/testsuite/gdb.python/py-type.c       |    9 ++++
 gdb/testsuite/gdb.python/py-type.exp     |    9 ++++
 gdb/testsuite/gdb.python/py-value-cc.cc  |   23 +++++++++
 gdb/testsuite/gdb.python/py-value-cc.exp |   20 ++++++++
 gdb/valops.c                             |   45 +++++++++++++++++
 gdb/value.h                              |    5 ++
 10 files changed, 217 insertions(+), 18 deletions(-)

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


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-01-15 13:12 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-14  9:36 [Bug python/15464] New: Accessing anonymous unions from Python andre.poenitz at digia dot com
2013-05-14 13:26 ` [Bug python/15464] " tromey at redhat dot com
2013-12-27  6:38 ` tromey at redhat dot com
2013-12-30 17:03 ` poenitz at htwm dot de
2014-01-14  1:44 ` cvs-commit at gcc dot gnu.org
2014-01-15 13:12 ` cvs-commit at gcc dot gnu.org

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).