A destroying operator delete takes responsibility for calling the destructor for the object it is deleting; this is intended to be useful for sized delete of a class allocated with a trailing buffer, where the compiler can't know the size of the allocation, and so would pass the wrong size to the non-destroying sized operator delete. gcc/c-family/ * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_impl_destroying_delete. gcc/cp/ * call.c (std_destroying_delete_t_p, destroying_delete_p): New. (aligned_deallocation_fn_p, usual_deallocation_fn_p): Use destroying_delete_p. (build_op_delete_call): Handle destroying delete. * decl2.c (coerce_delete_type): Handle destroying delete. * init.c (build_delete): Don't call dtor with destroying delete. * optimize.c (build_delete_destructor_body): Likewise. libstdc++-v3/ * libsupc++/new (std::destroying_delete_t): New. From-SVN: r266053
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
aggr1.C | Loading commit data... | |
aggr2.C | Loading commit data... | |
bitfield1.C | Loading commit data... | |
bitfield2.C | Loading commit data... | |
bitfield3.C | Loading commit data... | |
constexpr-inst1.C | Loading commit data... | |
constexpr-virtual1.C | Loading commit data... | |
constexpr-virtual10.C | Loading commit data... | |
constexpr-virtual11.C | Loading commit data... | |
constexpr-virtual12.C | Loading commit data... | |
constexpr-virtual2.C | Loading commit data... | |
constexpr-virtual3.C | Loading commit data... | |
constexpr-virtual4.C | Loading commit data... | |
constexpr-virtual5.C | Loading commit data... | |
constexpr-virtual6.C | Loading commit data... | |
constexpr-virtual7.C | Loading commit data... | |
constexpr-virtual8.C | Loading commit data... | |
constexpr-virtual9.C | Loading commit data... | |
cplusplus.C | Loading commit data... | |
desig1.C | Loading commit data... | |
desig2.C | Loading commit data... | |
desig3.C | Loading commit data... | |
desig4.C | Loading commit data... | |
desig5.C | Loading commit data... | |
desig6.C | Loading commit data... | |
desig7.C | Loading commit data... | |
desig8.C | Loading commit data... | |
desig9.C | Loading commit data... | |
destroying-delete1.C | Loading commit data... | |
explicit1.C | Loading commit data... | |
explicit10.C | Loading commit data... | |
explicit11.C | Loading commit data... | |
explicit12.C | Loading commit data... | |
explicit13.C | Loading commit data... | |
explicit2.C | Loading commit data... | |
explicit3.C | Loading commit data... | |
explicit4.C | Loading commit data... | |
explicit5.C | Loading commit data... | |
explicit6.C | Loading commit data... | |
explicit7.C | Loading commit data... | |
explicit8.C | Loading commit data... | |
explicit9.C | Loading commit data... | |
feat-cxx2a.C | Loading commit data... | |
fn-template1.C | Loading commit data... | |
fn-template10.C | Loading commit data... | |
fn-template11.C | Loading commit data... | |
fn-template12.C | Loading commit data... | |
fn-template13.C | Loading commit data... | |
fn-template14.C | Loading commit data... | |
fn-template15.C | Loading commit data... | |
fn-template16.C | Loading commit data... | |
fn-template2.C | Loading commit data... | |
fn-template3.C | Loading commit data... | |
fn-template4.C | Loading commit data... | |
fn-template5.C | Loading commit data... | |
fn-template6.C | Loading commit data... | |
fn-template7.C | Loading commit data... | |
fn-template8.C | Loading commit data... | |
fn-template9.C | Loading commit data... | |
is-constant-evaluated1.C | Loading commit data... | |
lambda-generic1.C | Loading commit data... | |
lambda-generic2.C | Loading commit data... | |
lambda-generic3.C | Loading commit data... | |
lambda-generic4.C | Loading commit data... | |
lambda-generic5.C | Loading commit data... | |
lambda-pack-init1.C | Loading commit data... | |
lambda-this1.C | Loading commit data... | |
lambda-this2.C | Loading commit data... | |
lambda-this3.C | Loading commit data... | |
lambda1.C | Loading commit data... | |
no_unique_address1.C | Loading commit data... | |
nontype-class1.C | Loading commit data... | |
nontype-class2.C | Loading commit data... | |
nontype-class3.C | Loading commit data... | |
nontype-class4.C | Loading commit data... | |
nontype-class5.C | Loading commit data... | |
nontype-class6.C | Loading commit data... | |
nontype-class7.C | Loading commit data... | |
nontype-class8.C | Loading commit data... | |
ptrmem1.C | Loading commit data... | |
ptrmem1a.C | Loading commit data... | |
range-for1.C | Loading commit data... | |
range-for10.C | Loading commit data... | |
range-for11.C | Loading commit data... | |
range-for12.C | Loading commit data... | |
range-for13.C | Loading commit data... | |
range-for14.C | Loading commit data... | |
range-for15.C | Loading commit data... | |
range-for16.C | Loading commit data... | |
range-for17.C | Loading commit data... | |
range-for18.C | Loading commit data... | |
range-for2.C | Loading commit data... | |
range-for3.C | Loading commit data... | |
range-for4.C | Loading commit data... | |
range-for5.C | Loading commit data... | |
range-for6.C | Loading commit data... | |
range-for7.C | Loading commit data... | |
range-for8.C | Loading commit data... | |
range-for9.C | Loading commit data... |