-
Notifications
You must be signed in to change notification settings - Fork 592
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
bazel: upgrade to c++23 #24444
bazel: upgrade to c++23 #24444
Conversation
ducktape was retried in https://buildkite.com/redpanda/redpanda/builds/59311#019398d8-97fc-4210-9078-5b8e3484b9b7 |
non flaky failures in https://buildkite.com/redpanda/redpanda/builds/59311#019398dd-57c3-4843-a055-8d4b3e9c4031:
|
Retry command for Build#59311please wait until all jobs are finished before running the slash command
|
16fdeba
to
1cd49d5
Compare
@@ -12,7 +12,7 @@ project(redpanda LANGUAGES CXX) | |||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) | |||
|
|||
set(CMAKE_C_STANDARD 11) | |||
set(CMAKE_CXX_STANDARD 20) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still need to do this in vtools, this is for the public build which isn't maintained.
This is only for Bazel, once this lands I can upgrade vtools build as well |
This will probably conflict: #24473 It pulls a ref that includes your changes |
thanks a bazel test is broken anyway |
In C++23 we check for scoped enums in serde, we need to make this enum a class enum.
Fixes a compilation error in c++23 where we declare the deleter for a class that hasn't yet been defined.
When this macro is actually defined, you get an error. Fix the check to use defined instead
There was a new allocate_at_least method added
Fixed an allocator change in cpp23 and rebased to fix conflicts |
#if __cplusplus >= 202302L | ||
[[nodiscard]] std::allocation_result<T*> allocate_at_least(std::size_t n) { | ||
auto result = allocator::allocate_at_least(n); | ||
_tracker->allocate(result.count * sizeof(T)); | ||
return result; | ||
} | ||
#endif |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉
Backports Required
Release Notes