We cannot instantiate the instrumentation macros when using clang compiler version older than 16. Currently our workflow is using clang 14 (and gcc 11).
Even though in principle it is possible to create a new job which would instantiate instrumentation macros, by means of
installing the required compiler version inside the workflow, then
building all the dependencies with conan, and finally
building rippled with the added -Dvoidstar=ON option
... the steps 1. and 2. would add an unnecessary load to the project actions. It is better to re-use the existing dependencies job in nix.yml, but for this to be useful we need to upgrade the clang compiler to version no older than 16. While we are at it, we can just as well upgrade gcc to version 12.
Since this would most likely involve upgrade of the build container to ubuntu 24.04 (Noble), we could just as well upgrade to clang-18 and gcc-14. I would suggest not, for parity with Apple macOS 15 (where clang-16 is the most recent version available) and Debian 12 (where clang-16 and gcc-12 are the most recent versions available)
Motivation
We cannot instantiate the instrumentation macros when using
clang
compiler version older than 16. Currently our workflow is using clang 14 (and gcc 11).Even though in principle it is possible to create a new job which would instantiate instrumentation macros, by means of
conan
, and finallyrippled
with the added-Dvoidstar=ON
option... the steps 1. and 2. would add an unnecessary load to the project actions. It is better to re-use the existing
dependencies
job innix.yml
, but for this to be useful we need to upgrade the clang compiler to version no older than 16. While we are at it, we can just as well upgrade gcc to version 12.Since this would most likely involve upgrade of the build container to ubuntu 24.04 (Noble), we could just as well upgrade to clang-18 and gcc-14. I would suggest not, for parity with Apple macOS 15 (where clang-16 is the most recent version available) and Debian 12 (where clang-16 and gcc-12 are the most recent versions available)