On Wed, 23 Oct 2024 at 18:41, Paul Smith <paul@xxxxxxxxxxxxxxxxx> wrote: > On Wed, 2024-10-23 at 17:35 +0000, Phil Phil via Gcc-help wrote: > > g++ -std=c++20 -dM -E -x c++ /dev/null | grep -F __cplusplus > > > > #define __cpluspluc 201709_L > > > > c++17 > > for both > > aarch64-fsl-linux-g++ (GCC) 10.2.0 > > and > > desktop g++ 9.4.0 > > Well: https://gcc.gnu.org/releases.html > And: https://en.wikipedia.org/wiki/C%2B%2B20 > > GCC 9.x was released in 2019, and GCC 10.x was released in May of 2020. > > The C++20 standard was not officially published until December 2020. > > So those releases not having support for C++20 isn't surprising to me. > They *do* have support for C++20. The value of __cplusplus for C++17 is 201703L. 201709 is higher than 201703, so it's "something newer than C++17". If you test __cplusplus > 201703L then that tells you you have "something newer than C++17" which means at least partial support for C++20.