N3778: Sized Deallocation gcc/c-family/ * c.opt (-fsized-deallocation, -Wc++14-compat): New. (-Wsized-deallocation): New. * c-opts.c (c_common_post_options): -fsized-deallocation defaults to on in C++14 and up. gcc/cp/ * call.c (non_placement_deallocation_fn_p): A global sized operator delete is not a usual deallocation function until C++14. (build_op_delete_call): Choose the global sized op delete if we know the size. * cp-tree.h: Declare non_placement_deallocation_fn_p. (enum cp_tree_index): Remove CPTI_GLOBAL_DELETE_FNDECL. (global_delete_fndecl): Remove. * decl.c (cxx_init_decl_processing): Also declare sized op deletes. (grok_op_properties): Warn about sized dealloc without the flag. * init.c (build_builtin_delete_call): Remove. (build_vec_delete_1, build_delete): Don't call it. * decl2.c (maybe_warn_sized_delete): New. (cp_write_global_declarations): Call it. libstdc++-v3/ * libsupc++/del_ops.cc: New. * libsupc++/del_opvs.cc: New. * libsupc++/Makefile.am: Add them. * libsupc++/Makefile.in: Regenerate. * config/abi/pre/gnu.ver: Export _ZdlPvm and _ZdaPvm. From-SVN: r218755
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
Makefile.am | Loading commit data... | |
Makefile.in | Loading commit data... | |
array_type_info.cc | Loading commit data... | |
atexit_arm.cc | Loading commit data... | |
atexit_thread.cc | Loading commit data... | |
atomic_lockfree_defines.h | Loading commit data... | |
bad_alloc.cc | Loading commit data... | |
bad_array_length.cc | Loading commit data... | |
bad_array_new.cc | Loading commit data... | |
bad_cast.cc | Loading commit data... | |
bad_typeid.cc | Loading commit data... | |
class_type_info.cc | Loading commit data... | |
cxxabi.h | Loading commit data... | |
cxxabi_forced.h | Loading commit data... | |
del_op.cc | Loading commit data... | |
del_opnt.cc | Loading commit data... | |
del_ops.cc | Loading commit data... | |
del_opv.cc | Loading commit data... | |
del_opvnt.cc | Loading commit data... | |
del_opvs.cc | Loading commit data... | |
dyncast.cc | Loading commit data... | |
eh_alloc.cc | Loading commit data... | |
eh_arm.cc | Loading commit data... | |
eh_aux_runtime.cc | Loading commit data... | |
eh_call.cc | Loading commit data... | |
eh_catch.cc | Loading commit data... | |
eh_exception.cc | Loading commit data... | |
eh_globals.cc | Loading commit data... | |
eh_personality.cc | Loading commit data... | |
eh_ptr.cc | Loading commit data... | |
eh_term_handler.cc | Loading commit data... | |
eh_terminate.cc | Loading commit data... | |
eh_throw.cc | Loading commit data... | |
eh_tm.cc | Loading commit data... | |
eh_type.cc | Loading commit data... | |
eh_unex_handler.cc | Loading commit data... | |
enum_type_info.cc | Loading commit data... | |
exception | Loading commit data... | |
exception_defines.h | Loading commit data... | |
exception_ptr.h | Loading commit data... | |
function_type_info.cc | Loading commit data... | |
fundamental_type_info.cc | Loading commit data... | |
guard.cc | Loading commit data... | |
guard_error.cc | Loading commit data... | |
hash_bytes.cc | Loading commit data... | |
hash_bytes.h | Loading commit data... | |
initializer_list | Loading commit data... | |
nested_exception.cc | Loading commit data... | |
nested_exception.h | Loading commit data... | |
new | Loading commit data... | |
new_handler.cc | Loading commit data... | |
new_op.cc | Loading commit data... | |
new_opnt.cc | Loading commit data... | |
new_opv.cc | Loading commit data... | |
new_opvnt.cc | Loading commit data... | |
pbase_type_info.cc | Loading commit data... | |
pmem_type_info.cc | Loading commit data... | |
pointer_type_info.cc | Loading commit data... | |
pure.cc | Loading commit data... | |
si_class_type_info.cc | Loading commit data... | |
tinfo.cc | Loading commit data... | |
tinfo.h | Loading commit data... | |
tinfo2.cc | Loading commit data... | |
typeinfo | Loading commit data... | |
unwind-cxx.h | Loading commit data... | |
vec.cc | Loading commit data... | |
vmi_class_type_info.cc | Loading commit data... | |
vterminate.cc | Loading commit data... | |
vtv_stubs.cc | Loading commit data... |