diff options
author | Tom Tromey <tromey@redhat.com> | 2012-12-14 20:33:24 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2012-12-14 20:33:24 +0000 |
commit | 3186711e514556cb5ca492425664eb21e5a7ef52 (patch) | |
tree | 2ba0f6cb040fbdb37f83e7ba984729e66a51edc6 /gdb/c-typeprint.c | |
parent | fd442e3a1dfc1bb7f63074155cf06fe0c0afb5d2 (diff) | |
download | gdb-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.c | 3 |
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] == '~'; |