* cp-tree.h (dfs_skip_vbases): New function. (find_vbase_instance): Likewise. * class.c (determine_primary_base): Allow a nearly empty base to serve as a primary base class under the new ABI. (get_class_offset_1): Rename to ... (dfs_get_class_offset): ... this. Simplify. Don't issue error messages here. (get_class_offset): Use it. Issue error messages here. (dfs_modify_vtables): Rely on dfs_unmarked_real_bases_queue_p to find the right copies of virtual bases. (fixup_vtable_deltas1): Rename to ... (dfs_fixup_vtable_deltas): ... this. Adjust to handle virtual bases as primary bases. (fixup_vtable_deltas): Remove. (override_one_vtable): Handle virtual bases as primary bases. (merge_overrides): Likewise. (finish_struct_1): Likewise. (dump_class_hierarchy): Dump primary-ness of bases as well. * search.c (mark_primary_bases): Use a pre-order traversal to handle primary virtual bases. (dfs_skip_vbases): New fiunction. (expand_upcast_fixups): Adjust to handle primary virtual bases. (fixup_virtual_upcast_offsets): Likewise. (fixup_all_virtual_upcast_offsets): Likewise. (dfs_find_vbase_instances): New function. (find_vbase_instance): Likewise. From-SVN: r31360
| Name |
Last commit
|
Last update |
|---|---|---|
| INSTALL | Loading commit data... | |
| boehm-gc | Loading commit data... | |
| config | Loading commit data... | |
| contrib | Loading commit data... | |
| etc | Loading commit data... | |
| gcc | Loading commit data... | |
| include | Loading commit data... | |
| libchill | Loading commit data... | |
| libf2c | Loading commit data... | |
| libffi | Loading commit data... | |
| libiberty | Loading commit data... | |
| libio | Loading commit data... | |
| libjava | Loading commit data... | |
| libobjc | Loading commit data... | |
| libstdc++ | Loading commit data... | |
| texinfo | Loading commit data... | |
| zlib | Loading commit data... | |
| .cvsignore | Loading commit data... | |
| COPYING | Loading commit data... | |
| COPYING.LIB | Loading commit data... | |
| ChangeLog | Loading commit data... | |
| MAINTAINERS | Loading commit data... | |
| Makefile.in | Loading commit data... | |
| README | Loading commit data... | |
| config-ml.in | Loading commit data... | |
| config.guess | Loading commit data... | |
| config.if | Loading commit data... | |
| config.sub | Loading commit data... | |
| configure | Loading commit data... | |
| configure.in | Loading commit data... | |
| install-sh | Loading commit data... | |
| ltconfig | Loading commit data... | |
| ltmain.sh | Loading commit data... | |
| missing | Loading commit data... | |
| mkinstalldirs | Loading commit data... | |
| move-if-change | Loading commit data... | |
| symlink-tree | Loading commit data... | |
| ylwrap | Loading commit data... |