/* Generic code for supporting multiple C++ ABI's
- Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011
- Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2012 Free Software Foundation, Inc.
This file is part of GDB.
int *top, int *using_enc)
{
struct type *ret = NULL;
- struct gdb_exception e;
+ volatile struct gdb_exception e;
if ((current_cp_abi.rtti_type) == NULL)
return NULL;
return (*current_cp_abi.method_ptr_to_value) (this_p, method_ptr);
}
+/* See cp-abi.h. */
+
+void
+cplus_print_vtable (struct value *value)
+{
+ if (current_cp_abi.print_vtable == NULL)
+ error (_("GDB cannot print the vtable on this target"));
+ return (*current_cp_abi.print_vtable) (value);
+}
+
int
cp_pass_by_reference (struct type *type)
{
static void
list_cp_abis (int from_tty)
{
+ struct ui_out *uiout = current_uiout;
struct cleanup *cleanup_chain;
int i;
static void
show_cp_abi_cmd (char *args, int from_tty)
{
+ struct ui_out *uiout = current_uiout;
+
ui_out_text (uiout, "The currently selected C++ ABI is \"");
ui_out_field_string (uiout, "cp-abi", current_cp_abi.shortname);