Hi, On 2024-07-15 14:35:14 -0700, Andres Freund wrote: > Specifically, something like the attached. > > Due to the CI failure this is causing, I'm planning to apply this soon... > > Arguably we could backpatch this, the warning are present on older branches > too. Except that they don't cause errors, as 0c3930d0768 is only on master.
Here's a v2, to address two things: - there was an error in the docs build, because LLVM_CONFIG changed - there were also deprecation warnings in headerscheck/cpluspluscheck So I just made the change apply a bit more widely. Greetings, Andres Freund
>From a331747fd237c3b859b1da24ffc7768067c18d98 Mon Sep 17 00:00:00 2001 From: Andres Freund <and...@anarazel.de> Date: Mon, 15 Jul 2024 14:08:38 -0700 Subject: [PATCH v2 1/3] ci: Use newer llvm version with gcc gcc emits a warning for LLVM 14 code outside of our control. To avoid that, update to a newer LLVM version. Do so both in the CompilerWarnings and normal tasks - the latter don't fail, but the warnings make it more likely that we'd miss other warnings. The warning has been fixed in newer LLVM versions. Discussion: https://postgr.es/m/20240715193754.awdxgrzurxnww...@awork3.anarazel.de --- .cirrus.tasks.yml | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/.cirrus.tasks.yml b/.cirrus.tasks.yml index b14fe91cdb7..99ca74d5133 100644 --- a/.cirrus.tasks.yml +++ b/.cirrus.tasks.yml @@ -272,6 +272,8 @@ task: LDFLAGS: $SANITIZER_FLAGS CC: ccache gcc CXX: ccache g++ + # GCC emits a warning for llvm-14, so switch to a newer one. + LLVM_CONFIG: llvm-config-16 LINUX_CONFIGURE_FEATURES: *LINUX_CONFIGURE_FEATURES LINUX_MESON_FEATURES: *LINUX_MESON_FEATURES @@ -334,7 +336,7 @@ task: \ ${LINUX_CONFIGURE_FEATURES} \ \ - CLANG="ccache clang" + CLANG="ccache clang-16" EOF build_script: su postgres -c "make -s -j${BUILD_JOBS} world-bin" upload_caches: ccache @@ -661,6 +663,9 @@ task: LINUX_CONFIGURE_FEATURES: *LINUX_CONFIGURE_FEATURES LINUX_MESON_FEATURES: *LINUX_MESON_FEATURES + # GCC emits a warning for llvm-14, so switch to a newer one. + LLVM_CONFIG: llvm-config-16 + <<: *linux_task_template sysinfo_script: | @@ -696,7 +701,7 @@ task: --cache gcc.cache \ --enable-dtrace \ ${LINUX_CONFIGURE_FEATURES} \ - CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang" + CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang-16" make -s -j${BUILD_JOBS} clean time make -s -j${BUILD_JOBS} world-bin @@ -707,7 +712,7 @@ task: --cache gcc.cache \ --enable-cassert \ ${LINUX_CONFIGURE_FEATURES} \ - CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang" + CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang-16" make -s -j${BUILD_JOBS} clean time make -s -j${BUILD_JOBS} world-bin @@ -717,7 +722,7 @@ task: time ./configure \ --cache clang.cache \ ${LINUX_CONFIGURE_FEATURES} \ - CC="ccache clang" CXX="ccache clang++" CLANG="ccache clang" + CC="ccache clang" CXX="ccache clang++-16" CLANG="ccache clang-16" make -s -j${BUILD_JOBS} clean time make -s -j${BUILD_JOBS} world-bin @@ -729,7 +734,7 @@ task: --enable-cassert \ --enable-dtrace \ ${LINUX_CONFIGURE_FEATURES} \ - CC="ccache clang" CXX="ccache clang++" CLANG="ccache clang" + CC="ccache clang" CXX="ccache clang++-16" CLANG="ccache clang-16" make -s -j${BUILD_JOBS} clean time make -s -j${BUILD_JOBS} world-bin @@ -753,9 +758,7 @@ task: docs_build_script: | time ./configure \ --cache gcc.cache \ - CC="ccache gcc" \ - CXX="ccache g++" \ - CLANG="ccache clang" + CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang-16" make -s -j${BUILD_JOBS} clean time make -s -j${BUILD_JOBS} -C doc @@ -774,7 +777,7 @@ task: ${LINUX_CONFIGURE_FEATURES} \ --without-icu \ --quiet \ - CC="gcc" CXX"=g++" CLANG="clang" + CC="gcc" CXX"=g++" CLANG="clang-16" make -s -j${BUILD_JOBS} clean time make -s headerscheck EXTRAFLAGS='-fmax-errors=10' headers_cpluspluscheck_script: | -- 2.45.2.746.g06e570c0df.dirty