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

Message ID cover.1624486326.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, 10:44 p.m.
Changes since v2:

  - Have made all of the improvements Simon suggested, it's all minor
    stuff, so there's no significant differences since v2 in patches 1
    to 3.

  - The new tests requested by Simon in patch 2 are added in the new
    patch 4.

  - Patch 4 is new, when added the extra tests Simon requested, I
    found another bug, which is fixed in this new patch.

---

Andrew Burgess (4):
  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: fix invalid arg coercion when calling static member functions

 gdb/ChangeLog                             | 56 +++++++++++++++++++++
 gdb/ada-lang.c                            |  6 +--
 gdb/eval.c                                | 14 ++++--
 gdb/f-lang.c                              |  2 +-
 gdb/guile/scm-value.c                     |  2 +-
 gdb/infcall.c                             |  4 +-
 gdb/m2-lang.c                             |  4 +-
 gdb/opencl-lang.c                         |  2 +-
 gdb/python/py-value.c                     |  2 +-
 gdb/rust-lang.c                           | 18 +++----
 gdb/testsuite/ChangeLog                   | 23 +++++++++
 gdb/testsuite/gdb.cp/method-call-in-c.cc  | 61 +++++++++++++++++++++++
 gdb/testsuite/gdb.cp/method-call-in-c.exp | 50 +++++++++++++++++++
 gdb/valarith.c                            |  2 +-
 gdb/valops.c                              | 57 +++++++++++----------
 gdb/value.h                               |  2 +-
 16 files changed, 252 insertions(+), 53 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