* cp-tree.h (IDENTIFIER_CTOR_OR_DTOR_P): New macro. (cp_tree_index): Add CPTI_PUSH_EXCEPTION_IDENTIFIER. (cp_push_exception_identifier): New macro. (DECL_COMPLETE_DESTRUCTOR_P): New macro. (DECL_BASE_DESTRUCTOR_P): Likewise. (DECL_DELETING_DESTRUCTOR_P): Likewise. (get_vtbl_decl_for_binfo): Fix formatting. (in_charge_arg_for_name): New macro. (maybe_build_cleanup_and_delete): Remove declaration. * call.c (build_field_call): Use IDENTIFIER_CTOR_OR_DTOR_P. (in_charge_arg_for_name): New function. (build_new_method_call): Use it. Handle cloned destructors. (build_clone): Don't make the base constructor virtual. Automatically defer generated functions. (clone_function_decl): Handle destructors, too. (clone_constructors_and_destructors): Likewise. (create_vtable_ptr): Don't create a vtable entry for a cloned function. * decl.c (predefined_identifier): Add ctor_or_dtor_p. (initialize_predefined_identifiers): Update appropriately. (finish_destructor_body): Simplify. (maybe_build_cleanup_and_delete): Remove. * except.c (expand_throw): Handle new-ABI destructors. * init.c (expand_cleanup_for_base): Use base_dtor_identifier. (build_dtor_call): New function. (build_delete): Use it. Simplify. * optimize.c (maybe_clone_body): Handle destructors. * search.c (lookup_field_queue_p): Use IDENTIFIER_CTOR_OR_DTOR_P. From-SVN: r33096
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... |