From 39cb3d04889db22f0642427bcf878c16b4d779ea Mon Sep 17 00:00:00 2001 From: Peter Schauer Date: Wed, 14 Apr 1993 19:53:11 +0000 Subject: [PATCH] * 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. --- gdb/ChangeLog | 8 ++++++++ gdb/cp-valprint.c | 2 ++ gdb/stabsread.c | 2 ++ 3 files changed, 12 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index fcc450b71ae..65475e08acd 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 3e4068560f8..680a75dc699 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 52c6c72e0fc..0061d204843 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); -- 2.30.2