#include "cp-abi.h"
#include "demangle.h"
#include "gdb_assert.h"
+#include "gdb_string.h"
static struct cp_abi_ops gnu_v3_abi_ops;
gdb_gnu_v3_abi_vtable' object to the vtable's "address point"
(i.e., where objects' virtual table pointers point). */
static int
-vtable_address_point_offset ()
+vtable_address_point_offset (void)
{
struct type *vtable_type = gdbarch_data (current_gdbarch,
vtable_type_gdbarch_data);
class_name = vtable_symbol_name + 11;
/* Try to look up the class name as a type name. */
- class_symbol = lookup_symbol (class_name, 0, STRUCT_NAMESPACE, 0, 0);
+ class_symbol = lookup_symbol (class_name, 0, STRUCT_DOMAIN, 0, 0);
if (! class_symbol)
{
warning ("can't find class named `%s', as given by C++ RTTI", class_name);
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
{
init_gnuv3_ops ();
- register_cp_abi (gnu_v3_abi_ops);
+ register_cp_abi (&gnu_v3_abi_ops);
}