h-vetinari commented on issue #45885: URL: https://github.com/apache/arrow/issues/45885#issuecomment-3634767198
I've kept a bookmark of this [comment](https://discourse.llvm.org/t/rfc-clang-17-0-6-would-be-minimum-version-to-build-llvm-in-c-20/75345/8) from one of the clang developers, which makes the case that the minimum compiler version for C++ needs to be much higher. This is primarily about clang, but the situation is similar for GCC > Until Clang 17, support for C++20 was extremely buggy. I would not recommend that anyone use previous versions in C++20 mode – it’s just not worth the problems. > > There were multiple serious issues for consteval, concepts, and other new features. For Google’s internal codebase, these caused problems just trying to switch from -std=c++17 to -std=c++20 – including silent miscompiles. Our codebase didn’t even use C++20 features, we were just switching the compilation mode (which introduced usage of C++20 features via the stdlib headers.) > > For reasonable C++20 compiler support, I’ve been making a recommendation of the following minimum compiler versions: > > * Clang 17 > * GCC 12 > * MSVC 17.2 Note the "silent miscompiles" just from switching from `--std=c++17` to `--std=c++20` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
