2009-11-12 Daniel Jacobowitz <dan@codesourcery.com>
authorDaniel Jacobowitz <drow@false.org>
Thu, 12 Nov 2009 19:47:25 +0000 (19:47 +0000)
committerDaniel Jacobowitz <drow@false.org>
Thu, 12 Nov 2009 19:47:25 +0000 (19:47 +0000)
commitd48cc9dd6fbc2e64af32b5ec1680e8255eeb4edd
tree006d18471c2868b4bdd8f2152a666064b820b568
parent87728fa060cd21bf91473bf56b0d931b96efde3b
2009-11-12  Daniel Jacobowitz  <dan@codesourcery.com>
    Paul Brook  <paul@codesourcery.com>

* c-typeprint.c (c_type_print_base): Skip artificial fields.
Use get_vptr_fieldno to skip the vtable pointer.
* dwarf2read.c (dwarf2_add_field): Set FIELD_ARTIFICIAL on artificial
fields.
(dwarf2_add_member_fn): Complain about virtual member functions
without DW_AT_vtable_elem_location and force TYPE_CPLUS_DYNAMIC.
* gdbtypes.c (get_vptr_fieldno): Update comment.
* gdbtypes.h (struct cplus_struct_type): Add is_dynamic.
(TYPE_CPLUS_DYNAMIC): New macro.
* gnu-v3-abi.c (gnuv3_dynamic_class): New.
(gnuv3_get_vtable): Rewrite to use gnuv3_dynamic_class.  Move higher.
(gnuv3_rtti_type, gnuv3_get_virtual_fn, gnuv3_baseclass_offset): Use
gnuv3_get_vtable.
* varobj.c (cplus_class_num_children, cplus_describe_child): Skip
artificial fields.  Use get_vptr_fieldno to skip the vtable pointer.
gdb/ChangeLog
gdb/c-typeprint.c
gdb/dwarf2read.c
gdb/gdbtypes.c
gdb/gdbtypes.h
gdb/gnu-v3-abi.c
gdb/varobj.c