[PATCHv2,0/3] gdb: fix regression in evaluate_funcall for non C++ like cases

Message ID cover.1624445298.git.andrew.burgess@embecosm.com
Headers show
Series
  • gdb: fix regression in evaluate_funcall for non C++ like cases
Related show

Message

Andrew Burgess June 23, 2021, 11:39 a.m.
Changes since v1:

  - Updated the commit message for patch #1 after Simon's query,
    hopefully this should make it clearer what I'm talking about.

  - Passing a NULL terminated array around sucks now we have
    array_view, patch #2 changes the API to use array_view, which
    exposed another bug in this area (which is fixed in this patch).

  - After this discussion in the bug (gdb/27994), patch #3 updates the
    API even further, we now make use of gdb::optional instead of
    passing a pointer to an array_view.

---

Andrew Burgess (3):
  gdb: fix regression in evaluate_funcall for non C++ like cases
  gdb: replace NULL terminated array with array_view
  gdb: use gdb::optional instead of passing a pointer to gdb::array_view

 gdb/ChangeLog                             | 51 ++++++++++++++++++++
 gdb/ada-lang.c                            |  6 +--
 gdb/eval.c                                | 19 ++++++--
 gdb/f-lang.c                              |  2 +-
 gdb/guile/scm-value.c                     |  2 +-
 gdb/m2-lang.c                             |  4 +-
 gdb/opencl-lang.c                         |  2 +-
 gdb/python/py-value.c                     |  2 +-
 gdb/rust-lang.c                           | 18 +++----
 gdb/testsuite/ChangeLog                   | 14 ++++++
 gdb/testsuite/gdb.cp/method-call-in-c.cc  | 52 +++++++++++++++++++++
 gdb/testsuite/gdb.cp/method-call-in-c.exp | 48 +++++++++++++++++++
 gdb/valarith.c                            |  2 +-
 gdb/valops.c                              | 57 ++++++++++++-----------
 gdb/value.h                               |  2 +-
 15 files changed, 229 insertions(+), 52 deletions(-)
 create mode 100644 gdb/testsuite/gdb.cp/method-call-in-c.cc
 create mode 100644 gdb/testsuite/gdb.cp/method-call-in-c.exp

-- 
2.25.4

Comments

Andrew Burgess June 23, 2021, 12:22 p.m. | #1
Doh!  I posted these in-reply-to the wrong email.

Please just ignore these, and I'll resend to the correct thread.

Sorry for the noise,
Andrew


* Andrew Burgess <andrew.burgess@embecosm.com> [2021-06-23 12:39:12 +0100]:

> Changes since v1:

> 

>   - Updated the commit message for patch #1 after Simon's query,

>     hopefully this should make it clearer what I'm talking about.

> 

>   - Passing a NULL terminated array around sucks now we have

>     array_view, patch #2 changes the API to use array_view, which

>     exposed another bug in this area (which is fixed in this patch).

> 

>   - After this discussion in the bug (gdb/27994), patch #3 updates the

>     API even further, we now make use of gdb::optional instead of

>     passing a pointer to an array_view.

> 

> ---

> 

> Andrew Burgess (3):

>   gdb: fix regression in evaluate_funcall for non C++ like cases

>   gdb: replace NULL terminated array with array_view

>   gdb: use gdb::optional instead of passing a pointer to gdb::array_view

> 

>  gdb/ChangeLog                             | 51 ++++++++++++++++++++

>  gdb/ada-lang.c                            |  6 +--

>  gdb/eval.c                                | 19 ++++++--

>  gdb/f-lang.c                              |  2 +-

>  gdb/guile/scm-value.c                     |  2 +-

>  gdb/m2-lang.c                             |  4 +-

>  gdb/opencl-lang.c                         |  2 +-

>  gdb/python/py-value.c                     |  2 +-

>  gdb/rust-lang.c                           | 18 +++----

>  gdb/testsuite/ChangeLog                   | 14 ++++++

>  gdb/testsuite/gdb.cp/method-call-in-c.cc  | 52 +++++++++++++++++++++

>  gdb/testsuite/gdb.cp/method-call-in-c.exp | 48 +++++++++++++++++++

>  gdb/valarith.c                            |  2 +-

>  gdb/valops.c                              | 57 ++++++++++++-----------

>  gdb/value.h                               |  2 +-

>  15 files changed, 229 insertions(+), 52 deletions(-)

>  create mode 100644 gdb/testsuite/gdb.cp/method-call-in-c.cc

>  create mode 100644 gdb/testsuite/gdb.cp/method-call-in-c.exp

> 

> -- 

> 2.25.4

>