-
Notifications
You must be signed in to change notification settings - Fork 15.3k
[libc++] Fix <__algorithm/find.h> when using -flax-vector-conversions=none #161362
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
CC @mstorsjo |
|
@llvm/pr-subscribers-libcxx Author: Nikolas Klauser (philnik777) ChangesFull diff: https://github.com/llvm/llvm-project/pull/161362.diff 2 Files Affected:
diff --git a/libcxx/include/__algorithm/find.h b/libcxx/include/__algorithm/find.h
index 5f32ae8fc9524..0df9598036461 100644
--- a/libcxx/include/__algorithm/find.h
+++ b/libcxx/include/__algorithm/find.h
@@ -26,6 +26,7 @@
#include <__type_traits/is_equality_comparable.h>
#include <__type_traits/is_integral.h>
#include <__type_traits/is_signed.h>
+#include <__type_traits/remove_const.h>
#include <__utility/move.h>
#include <limits>
@@ -69,7 +70,7 @@ _LIBCPP_CONSTEXPR_SINCE_CXX14 _Tp* __find_vectorized(_Tp* __first, _Tp* __last,
auto __orig_first = __first;
- auto __values = static_cast<__simd_vector<_Up, __vec_size>>(__value); // broadcast the value
+ auto __values = static_cast<__simd_vector<_Tp, __vec_size>>(__value); // broadcast the value
while (static_cast<size_t>(__last - __first) >= __unroll_count * __vec_size) [[__unlikely__]] {
__vec __lhs[__unroll_count];
diff --git a/libcxx/utils/libcxx/test/params.py b/libcxx/utils/libcxx/test/params.py
index 6f013a75195a8..c02d6df1c47a4 100644
--- a/libcxx/utils/libcxx/test/params.py
+++ b/libcxx/utils/libcxx/test/params.py
@@ -75,6 +75,9 @@
# We're not annotating all the APIs, since that's a lot of annotations compared to how many we actually care about
"-Wno-nullability-completeness",
+
+ # Technically not a warning flag, but might as well be:
+ "-flax-vector-conversions=none",
]
_allStandards = ["c++03", "c++11", "c++14", "c++17", "c++20", "c++23", "c++26"]
|
You can test this locally with the following command:darker --check --diff -r origin/main...HEAD libcxx/utils/libcxx/test/params.py
View the diff from darker here.--- params.py 2025-10-01 08:08:31.000000 +0000
+++ params.py 2025-10-01 08:11:44.771114 +0000
@@ -73,11 +73,10 @@
# This doesn't make sense in real code, but we have to test it because the standard requires us to not break
"-Wno-self-move",
# We're not annotating all the APIs, since that's a lot of annotations compared to how many we actually care about
"-Wno-nullability-completeness",
-
# Technically not a warning flag, but might as well be:
"-flax-vector-conversions=none",
]
_allStandards = ["c++03", "c++11", "c++14", "c++17", "c++20", "c++23", "c++26"]
|
|
This fixes my build issues, thanks! I can't comment on the contents of the change itself though. |
a9db36c to
a6c5984
Compare
a6c5984 to
474759d
Compare
No description provided.