From here: https://godbolt.org/z/n967rrMGY you can see that using GCC 10 and compiling with -stdc++=20 that __cplusplus evaluates to 201709. Switching to GCC 11, it evaluates to 202002.
This was problematic in our build as ETL_CPP20_SUPPORTED was not being detected correctly and we were having issues with redefinition of char8_t. Tried to workaround by setting ETL_NO_SMALL_CHAR_SUPPORT=0, however parts of our build use -stdc++=17 which would then fail with this flag due to missing definition of char8_t.
From here: https://godbolt.org/z/n967rrMGY you can see that using GCC 10 and compiling with -stdc++=20 that __cplusplus evaluates to 201709. Switching to GCC 11, it evaluates to 202002. This was problematic in our build as ETL_CPP20_SUPPORTED was not being detected correctly and we were having issues with redefinition of char8_t. Tried to workaround by setting ETL_NO_SMALL_CHAR_SUPPORT=0, however parts of our build use -stdc++=17 which would then fail with this flag due to missing definition of char8_t.