-
Notifications
You must be signed in to change notification settings - Fork 995
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
Consider requiring C++11 #2179
Comments
If we don't have (or very few) environments that still have to rely on C++03, then I think it's fine to proceed with the migration to C++11. Regarding the |
@gaul Most of the errors say we should use the std's algorithm. If we drop C++03 support(it means stop CentOS7 support), I can PR the current code, but if we still want to continue C++03 support, I create a PR after changing the code. Given this situation, I think we can move to C++11. |
RHEL7 includes GCC 4.8.x which has strong C++11 support so I think we can use most features: https://gcc.gnu.org/projects/cxx-status.html#cxx11. I think the error you encountered might just be some configuration needed, e.g., specify I prefer to use C++11 or newer since features like The cppcheck error is confusing and maybe some false positive. I tried to look into this on my Fedora 38 desktop but compiling cppcheck has become more complicated and even Red Hat is having trouble packaging it: https://bugzilla.redhat.com/show_bug.cgi?id=2165211. Maybe it is just easier to disable newer cppcheck on a few CI runners for now? |
This simplifies code paths and makes memory leaks less likely. It also makes memory ownership more explicit by requiring std::move. This commit requires C++11. References s3fs-fuse#2179.
This simplifies code paths and makes memory leaks less likely. It also makes memory ownership more explicit by requiring std::move. This commit requires C++11. References s3fs-fuse#2179.
This simplifies code paths and makes memory leaks less likely. It also makes memory ownership more explicit by requiring std::move. This commit requires C++11. References s3fs-fuse#2179.
This simplifies code paths and makes memory leaks less likely. It also makes memory ownership more explicit by requiring std::move. This commit requires C++11. References s3fs-fuse#2179.
This simplifies code paths and makes memory leaks less likely. It also makes memory ownership more explicit by requiring std::move. This commit requires C++11. References s3fs-fuse#2179.
This simplifies code paths and makes memory leaks less likely. It also makes memory ownership more explicit by requiring std::move. This commit requires C++11. References #2179.
1.93 will require C++11. |
Currently s3fs only relies on C++03 which gives it compatibility with ancient Linux distros. Upgrading to C++11 would allow
optional
,span
,unique_ptr
,unordered_map
, and some modest syntactic sugar. A bigger benefit is moving closer to compatibility with the AWS SDK (C++14) in #1068. Recently brought up in #2177.The text was updated successfully, but these errors were encountered: