apache / arrow

Apache Arrow is the universal columnar format and multi-language toolbox for fast data interchange and in-memory analytics
https://arrow.apache.org/
Apache License 2.0
14.63k stars 3.56k forks source link

[C++] compilation standard to C++20 #44792

Closed rkannan closed 2 days ago

rkannan commented 2 days ago

Describe the enhancement requested

are there any issues with setting the default to c++20 in the codebase? Currently the cmake_modules/SetupCxxFlags.cmake sets CMAKE_CXX_STANDARD to 17.

Component(s)

C++

assignUser commented 2 days ago

Yes that's not a quick decision to make. Here is the thread about bumping to 17 2 years ago: https://lists.apache.org/thread/9g14n3odhj6kzsgjxr6k6d3q73hg2njr

assignUser commented 2 days ago

I checked and we currently can't switch to 20 because CRAN (R package hub) has several builds with AppleClang <=14. This is a blocker but not necessarily the only one.

You are certainly not alone in preferring to use C++20 but as arrow C++ is a foundational library we have to be more conservative with such thinks.

I will close this issue for now, we can re-visted in time