OSDN Git Service

2009-11-12 Daniel Jacobowitz <dan@codesourcery.com>
authordrow <drow>
Fri, 13 Nov 2009 04:47:25 +0000 (04:47 +0000)
committerdrow <drow>
Fri, 13 Nov 2009 04:47:25 +0000 (04:47 +0000)
commitaa021037a22659d28c54797e5eb418ac172d9c9e
tree990f8c2654545466dc6c94bc86ddb30741d6382d
parenta0195bdf3663f7c2e3ba9712aaebc6cfd671739f
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