[libcxx-commits] [libcxx] [libc++] Add assumption for align of begin and end pointers of vector. (PR #108961)

Dana Jansens via libcxx-commits libcxx-commits at lists.llvm.org
Thu Sep 19 07:09:00 PDT 2024


================
@@ -1027,6 +1027,10 @@ private:
   }
 
   _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI void __move_assign_alloc(vector&, false_type) _NOEXCEPT {}
+
+  _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI pointer __add_alignment_assumption(pointer __p) const _NOEXCEPT {
+    return static_cast<pointer>(__builtin_assume_aligned(__p, alignof(decltype(*__p))));
----------------
danakj wrote:

https://godbolt.org/z/ndx8Pe3de shows the error, we can't static_cast from void* in constexpr

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


More information about the libcxx-commits mailing list