aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/cp-valprint.c2
-rw-r--r--gdb/stabsread.c2
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);