mirror-llvm-project/libcxx/include/__new
Nikolas Klauser 2e2d90b986
[libc++] Introduce implicit and explicit ABI annotations (#193045)
This patch introduces `_LIBCPP_{BEGIN/END}_EXPLICIT_ABI_ANNOTATIONS` and
marks everything within an
`_LIBCPP_{BEGIN,END}_UNVERSIONED_NAMESPACE_STD` (and any derivatives
like `_LIBCPP_{BEGIN,END}_NAMESPACE_STD`) implicitly by default. This
allows us to drop `_LIBCPP_HIDE_FROM_ABI` in most of the code base,
except for functions which shouldn't be `_LIBCPP_HIDE_FROM_ABI`.

This patch doesn't remove any `_LIBCPP_HIDE_FROM_ABI`s, since we have
over 13k of them in the code base. Actually dropping them will happen
over some time to avoid too many merge conflicts.
2026-05-08 12:21:31 +02:00
..
align_val_t.h [libcxx][modules] Fix missing includes for windows (#158781) 2025-11-03 13:49:31 +11:00
allocate.h [libc++] Remove _LIBCPP_HAS_SIZED_DEALLOCATION (#172285) 2026-01-06 17:16:04 +01:00
destroying_delete_t.h
exceptions.h [libc++] Introduce implicit and explicit ABI annotations (#193045) 2026-05-08 12:21:31 +02:00
global_new_delete.h [libc++] Remove _LIBCPP_HAS_SIZED_DEALLOCATION (#172285) 2026-01-06 17:16:04 +01:00
interference_size.h [libc++][NFC] Assume that __GCC_{CON,DE}STRUCTIVE_SIZE are available (#171625) 2026-01-06 17:17:18 +01:00
launder.h
new_handler.h [libc++] Introduce implicit and explicit ABI annotations (#193045) 2026-05-08 12:21:31 +02:00
nothrow_t.h
placement_new_delete.h [libc++] Implement LWG4477: placement operator delete should be constexpr (#189915) 2026-04-08 21:48:32 +08:00