Clang defines the __cpp_impl_destroying_delete macro unconditionally, so that the feature is supported whenever the library type is defined. This is incompatible with the current definition in libstdc++ because we use constexpr and inline variables, which will give an error for older -std modes. This patch defines the destroying_delete_t type and destroying_delete variable independently of the __cpp_impl_destroying_delete macro, but only for C++2a (because the names aren't reserved for previous standards). The __cpp_lib_destroying_delete macro is only defined when both the library type and compiler macro are defined (i.e. when the type can actually be used as intended). PR libstdc++/89345 * include/std/version [__cpp_impl_destroying_delete] (__cpp_lib_destroying_delete): Only define for C++2a and later. * libsupc++/new [__cpp_impl_destroying_delete] (__cpp_lib_destroying_delete): Likewise. (destroying_delete_t, destroying_delete): Likewise, but define even when __cpp_impl_destroying_delete is not defined. * testsuite/18_support/destroying_delete.cc: New test. From-SVN: r268856
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... | |
cxxabi_init_exception.h | Loading commit data... | |
del_op.cc | Loading commit data... | |
del_opa.cc | Loading commit data... | |
del_opant.cc | Loading commit data... | |
del_opnt.cc | Loading commit data... | |
del_ops.cc | Loading commit data... | |
del_opsa.cc | Loading commit data... | |
del_opv.cc | Loading commit data... | |
del_opva.cc | Loading commit data... | |
del_opvant.cc | Loading commit data... | |
del_opvnt.cc | Loading commit data... | |
del_opvs.cc | Loading commit data... | |
del_opvsa.cc | Loading commit data... | |
dyncast.cc | Loading commit data... | |
eh_alloc.cc | Loading commit data... | |
eh_arm.cc | Loading commit data... | |
eh_atomics.h | 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.h | 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_opa.cc | Loading commit data... | |
new_opant.cc | Loading commit data... | |
new_opnt.cc | Loading commit data... | |
new_opv.cc | Loading commit data... | |
new_opva.cc | Loading commit data... | |
new_opvant.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... |