summaryrefslogtreecommitdiff
path: root/gdb/gnu-v3-abi.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@debian.org>2002-10-02 22:01:53 +0000
committerDaniel Jacobowitz <dan@debian.org>2002-10-02 22:01:53 +0000
commit06c2f0e3cc15af2ec9fa64cc943f1dc5ff9c44f3 (patch)
treeea973e50bf6bfae4d772d5f6e0ae9ee526998199 /gdb/gnu-v3-abi.c
parent6748b0ff2d77f4381bebc390cea17f8f120eb9b4 (diff)
downloadgdb-06c2f0e3cc15af2ec9fa64cc943f1dc5ff9c44f3.tar.gz
Fix PR gdb/778
* gdbtypes.c (fill_in_vptr_fieldno): Call check_typedef before recursing. * gnu-v3-abi.c (gnuv3_virtual_fn_field): Check return value of fill_in_vptr_fieldno.
Diffstat (limited to 'gdb/gnu-v3-abi.c')
-rw-r--r--gdb/gnu-v3-abi.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gdb/gnu-v3-abi.c b/gdb/gnu-v3-abi.c
index fbab8af0a18..2b4e01a78a4 100644
--- a/gdb/gnu-v3-abi.c
+++ b/gdb/gnu-v3-abi.c
@@ -324,6 +324,9 @@ gnuv3_virtual_fn_field (struct value **value_p,
type now. */
if (TYPE_VPTR_FIELDNO (vfn_base) < 0)
fill_in_vptr_fieldno (vfn_base);
+ if (TYPE_VPTR_FIELDNO (vfn_base) < 0)
+ error ("Could not find virtual table pointer for class \"%s\".",
+ TYPE_TAG_NAME (vfn_base) ? TYPE_TAG_NAME (vfn_base) : "<unknown>");
/* Now that we know which base class is defining our virtual
function, cast our value to that baseclass. This takes care of