summaryrefslogtreecommitdiff
path: root/gdb/c-typeprint.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2012-12-14 20:33:24 +0000
committerTom Tromey <tromey@redhat.com>2012-12-14 20:33:24 +0000
commit3186711e514556cb5ca492425664eb21e5a7ef52 (patch)
tree2ba0f6cb040fbdb37f83e7ba984729e66a51edc6 /gdb/c-typeprint.c
parentfd442e3a1dfc1bb7f63074155cf06fe0c0afb5d2 (diff)
downloadgdb-3186711e514556cb5ca492425664eb21e5a7ef52.tar.gz
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/c-typeprint.c')
-rw-r--r--gdb/c-typeprint.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c
index 161b3fe4b3a..d3ab4a78f1d 100644
--- a/gdb/c-typeprint.c
+++ b/gdb/c-typeprint.c
@@ -1143,7 +1143,8 @@ c_type_print_base (struct type *type, struct ui_file *stream,
struct cleanup *inner_cleanup;
const char *physname = TYPE_FN_FIELD_PHYSNAME (f, j);
int is_full_physname_constructor =
- is_constructor_name (physname)
+ TYPE_FN_FIELD_CONSTRUCTOR (f, j)
+ || is_constructor_name (physname)
|| is_destructor_name (physname)
|| method_name[0] == '~';