From 69b7e4362d091d68e478e1c0080a0ce3640af78f Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Mon, 30 May 2022 18:53:09 +0200 Subject: [PATCH] Disable compound-token-split-by-macro warning with Clang Perl DLZ module compilation with Clang produces the following warning: /usr/lib/x86_64-linux-gnu/perl/5.32/CORE/zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro] ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.32/CORE/zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' #define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START { \ ^~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.32/CORE/perl.h:666:29: note: expanded from macro 'STMT_START' # define STMT_START (void)( /* gcc supports "({ STATEMENTS; })" */ ^ /usr/lib/x86_64-linux-gnu/perl/5.32/CORE/zaphod32_hash.h:150:5: note: '{' token is here ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.32/CORE/zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' #define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START { \ ^ --- .gitlab-ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4d9fc905dc..5c41fa9f78 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1040,12 +1040,14 @@ unit:clang:tsan: artifacts: true # Jobs for Clang builds on Debian 11 "bullseye" (amd64) +# The -Wno-compound-token-split-by-macro option prevents warning when compiling +# Perl DLZ module with Clang against Perl older than version 5.35.2. clang:bullseye:amd64: variables: BUILD_CONTRIB: 1 CC: ${CLANG} - CFLAGS: "${CFLAGS_COMMON} -Wenum-conversion" + CFLAGS: "${CFLAGS_COMMON} -Wenum-conversion -Wno-compound-token-split-by-macro" # See https://gitlab.isc.org/isc-projects/bind9/-/issues/3444 EXTRA_CONFIGURE: "--without-jemalloc --disable-leak-detection" RUN_MAKE_INSTALL: 1