-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Update supported C++ standards to C++23 and C++20 (dropping C++17) #2053
Conversation
C++23 has passed all the ballots [1]. We can therefore support it now formally. This means that C++17 is no longer supported, and C++20 is supported until C++26 is released. The primary benefit of C++23 support is that we can now use coroutines in core Seastar code, as all supported C++ versions have them. [1] https://lists.isocpp.org/std-proposals/2024/01/8880.php
Probably llvm/llvm-project#17042 |
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.
yeah. it's around the corner. strictly speaking it's not out yet. see https://www.iso.org/standard/83626.html
more likely #1772 |
before the bug on Clang-17 is addressed, can we temporarily disable the tests with the combination of of clang and C++23? |
I saw one bug was fixed, but then using a newer libstdc++ triggered another. |
FWIW, clang-18 (230c13d59d0843c3b738920b85c341cc78a61fa9) + libstdc++ (from 13.2.1) + C++23 works fine. |
now that clang-18 has the commit of 128b3b61fe6768c724975fd1df2be0abec848cf6, probably we can bump up the clang in our CI build image? see #2058 |
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.
to address the FTBFS with clang-17, after redo the image with the change of #2058, we might need to s/clang++-17/clang++-18/ in this change .
C++23 has passed all the ballots [1]. We can therefore support it now formally. This means that C++17 is no longer supported, and C++20 is supported until C++26 is released.
The primary benefit of C++23 support is that we can now use coroutines in core Seastar code, as all supported C++ versions have them.
[1] https://lists.isocpp.org/std-proposals/2024/01/8880.php