[llvm-branch-commits] Add pointer field protection feature. (PR #133538)

Peter Collingbourne via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Apr 9 11:16:25 PDT 2025


================
@@ -84,7 +84,7 @@ _LIBCPP_PUSH_MACROS
 _LIBCPP_BEGIN_NAMESPACE_STD
 
 template <class _Tp, class _Allocator /* = allocator<_Tp> */>
-class _LIBCPP_TEMPLATE_VIS vector {
+class _LIBCPP_TEMPLATE_VIS vector _LIBCPP_MAYBE_FORCE_NONSTANDARD_LAYOUT {
----------------
pcc wrote:

The intent would be that the user builds libc++.a with `pointer_field_protection` and statically links it into their binary. Because of the changes to pointer representation there are numerous other ABI incompatibilities. This feature is incompatible with dynamic linking so we may want to skip building the dynamic library if the feature is enabled.

https://github.com/llvm/llvm-project/pull/133538


More information about the llvm-branch-commits mailing list