aboutsummaryrefslogtreecommitdiff
path: root/gdb/gnu-v3-abi.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2012-12-14 20:33:29 +0000
committerTom Tromey <tromey@redhat.com>2012-12-14 20:33:29 +0000
commit7d27a96df4e297e7329e0e3856c6d6e346478c80 (patch)
tree577b811b54508d15105168636b95930d432a77da /gdb/gnu-v3-abi.c
parentf8c05d0d192df972af6b1c14aaf9dc8743cfe72e (diff)
downloadgdb-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.c3
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