c++/8218: Destructors w/arguments.
authorKeith Seitz <keiths@redhat.com>
Fri, 10 Mar 2017 18:32:09 +0000 (10:32 -0800)
committerKeith Seitz <keiths@redhat.com>
Fri, 10 Mar 2017 18:32:09 +0000 (10:32 -0800)
commit5f4d10850850cd95af5e95a16848c8c07a273d88
treee33eb07a9c11a65587f3a8ed5c6e0ad1627b84a9
parent7b5d48229b7faa16f69e87fb269f17db0291d89f
c++/8218: Destructors w/arguments.

For a long time now, c++/8218 has noted that GDB is printing argument types
for destructors:

(gdb) ptype A
type = class A {
  public:
    ~A(int);
}

This happens because cp_type_print_method_args doesn't ignore artificial
arguments.  [It ignores the first `this' pointer because it simply skips
the first argument for any non-static function.]

This patch fixes this:

(gdb) ptype  A
type = class A {
  public:
    ~A();
}

I've adjusted gdb.cp/templates.exp to account for this and added a new
passing regexp.

gdb/ChangeLog

PR c++/8218
* c-typeprint.c (cp_type_print_method_args): Skip artificial arguments.

gdb/testsuite/ChangeLog

PR c++/8128
* gdb.cp/templates.exp (test_ptype_of_templates): Remove argument
type from destructor regexps.
Add a branch which actually passes the test.
Adjust "ptype t5i" test names.
gdb/ChangeLog
gdb/c-typeprint.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.cp/templates.exp