diff options
author | Tom Tromey <tromey@redhat.com> | 2012-12-14 20:33:29 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2012-12-14 20:33:29 +0000 |
commit | 7d27a96df4e297e7329e0e3856c6d6e346478c80 (patch) | |
tree | 577b811b54508d15105168636b95930d432a77da /gdb/gnu-v3-abi.c | |
parent | f8c05d0d192df972af6b1c14aaf9dc8743cfe72e (diff) | |
download | gdb-7d27a96df4e297e7329e0e3856c6d6e346478c80.zip gdb-7d27a96df4e297e7329e0e3856c6d6e346478c80.tar.gz gdb-7d27a96df4e297e7329e0e3856c6d6e346478c80.tar.bz2 |
Partial fix for PR c++/14160:
* c-typeprint.c (c_type_print_base): Use TYPE_FN_FIELD_CONSTRUCTOR.
* dwarf2read.c (dwarf2_is_constructor): New function.
(dwarf2_add_member_fn): Use it.
* gnu-v3-abi.c (gnuv3_pass_by_reference): Use
TYPE_FN_FIELD_CONSTRUCTOR.
* jv-typeprint.c (java_type_print_base): Use
TYPE_FN_FIELD_CONSTRUCTOR.
* gdbtypes.h (struct fn_field) <is_constructor>: New field.
<dummy>: Shrink.
(TYPE_FN_FIELD_CONSTRUCTOR): New macro.
testsuite
* gdb.cp/templates.exp (test_ptype_of_templates): Update kfails.
Diffstat (limited to 'gdb/gnu-v3-abi.c')
-rw-r--r-- | gdb/gnu-v3-abi.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/gnu-v3-abi.c b/gdb/gnu-v3-abi.c index c025a7b..83ee196 100644 --- a/gdb/gnu-v3-abi.c +++ b/gdb/gnu-v3-abi.c @@ -1071,7 +1071,8 @@ gnuv3_pass_by_reference (struct type *type) with the mangled name. We don't have a convenient function to strip off both leading scope qualifiers and trailing template arguments yet. */ - if (!is_constructor_name (TYPE_FN_FIELD_PHYSNAME (fn, fieldelem))) + if (!is_constructor_name (TYPE_FN_FIELD_PHYSNAME (fn, fieldelem)) + && !TYPE_FN_FIELD_CONSTRUCTOR (fn, fieldelem)) continue; /* If this method takes two arguments, and the second argument is |