Re: C++20 and newer C++ compiler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Kefu,


Thank you for providing the links!  In the future, I think we should pick target compiler versions at the beginning of a release cycle, set the CI/CD to use them, then update our documentation and build checks to make sure that it's being used even before we need it.  Right now we are sort of in this weird state where we adopted c++20, but there does not appear to be working cmake checks for the compiler version and at least on centos, install-deps.sh doesn't appear to do the right thing.  This results in build failures that are difficult to diagnose if you don't know what to look for (ie that '<=>' isn't one of the supported features in gcc8 despite gcc8 supporting most of the C++20 feature set).

It's really disruptive when main breaks without a clear indication of what's going on.  I'm all for c++20.  There are a lot of useful features!  I would very much appreciate it if we could just make some tweaks to the process so that we aren't making decisions about distros / compilers / major dependencies half way through the release cycle.


Thanks,

Mark


On 8/10/22 07:34, kefu chai wrote:
hi folks,

as you might have already noticed, we've made the switch to C++20. see
Casey's mail sent to this mailing list a couple days ago.

another thing you need to pay attention to is, we now need to use at
least gcc-11 or clang-12 for compiling the tree.

if your working flows depend on the stock C++ compiler in your distro,
you might need to check the version to make sure that its C++20
support. see also
https://en.cppreference.com/w/cpp/compiler_support#cpp20 . for
instance, if you are using ubuntu focal, you could use the ppa repo at
https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test or
prebuilt clang-12 or up at https://apt.llvm.org. if you are using
centos/RHEL 8, you might want to use gcc-toolset-11 or gcc-toolset-12
or llvm-toolset-12 .

apparently, we are not using all the C++20 features, but we are
starting exploring some of them. as some of us have noticed, we have
started using https://wg21.link/P1185R2 in the main branch. because we
are now using both gcc-11 and clang-12 in our CI/CD workflows, we can
assure you that these two compilers should be able to compile the main
branch.

i apologise for any inconvenience caused.

cheers,


_______________________________________________
Dev mailing list -- dev@xxxxxxx
To unsubscribe send an email to dev-leave@xxxxxxx




[Index of Archives]     [CEPH Users]     [Ceph Devel]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux