diff options
author | Peter Schauer <Peter.Schauer@mytum.de> | 1993-04-14 19:53:11 +0000 |
---|---|---|
committer | Peter Schauer <Peter.Schauer@mytum.de> | 1993-04-14 19:53:11 +0000 |
commit | 39cb3d04889db22f0642427bcf878c16b4d779ea (patch) | |
tree | 3822d6361061119e49ce8b19571da24f4d8f51a5 /gdb | |
parent | b54a2f2d90f897e8172f44ae0b9483a5963e0d1f (diff) | |
download | gdb-39cb3d04889db22f0642427bcf878c16b4d779ea.zip gdb-39cb3d04889db22f0642427bcf878c16b4d779ea.tar.gz gdb-39cb3d04889db22f0642427bcf878c16b4d779ea.tar.bz2 |
* stabsread.c (read_member_functions): Initialize domain for stubbed
member functions to avoid gdb core dumps when printing pointers
to member functions.
* cp-valprint.c (cp_print_class_method): Check for stubbed member
functions.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/cp-valprint.c | 2 | ||||
-rw-r--r-- | gdb/stabsread.c | 2 |
3 files changed, 12 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index fcc450b..65475e0 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +Wed Apr 14 12:49:29 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * stabsread.c (read_member_functions): Initialize domain for stubbed + member functions to avoid gdb core dumps when printing pointers + to member functions. + * cp-valprint.c (cp_print_class_method): Check for stubbed member + functions. + Tue Apr 13 08:28:26 1993 Jim Kingdon (kingdon@cygnus.com) * expprint.c (print_subexp): If opcode not found in op_print_tab, diff --git a/gdb/cp-valprint.c b/gdb/cp-valprint.c index 3e40685..680a75d 100644 --- a/gdb/cp-valprint.c +++ b/gdb/cp-valprint.c @@ -116,6 +116,8 @@ cp_print_class_method (valaddr, type, stream) for (j = 0; j < len2; j++) { QUIT; + if (TYPE_FN_FIELD_STUB (f, j)) + check_stub_method (domain, i, j); if (STREQ (SYMBOL_NAME (sym), TYPE_FN_FIELD_PHYSNAME (f, j))) { goto common; diff --git a/gdb/stabsread.c b/gdb/stabsread.c index 52c6c72..0061d20 100644 --- a/gdb/stabsread.c +++ b/gdb/stabsread.c @@ -1566,6 +1566,8 @@ read_member_functions (fip, pp, type, objfile) if (TYPE_FLAGS (new_sublist -> fn_field.type) & TYPE_FLAG_STUB) { + if (!TYPE_DOMAIN_TYPE (new_sublist -> fn_field.type)) + TYPE_DOMAIN_TYPE (new_sublist -> fn_field.type) = type; new_sublist -> fn_field.is_stub = 1; } new_sublist -> fn_field.physname = savestring (*pp, p - *pp); |