From ffd7636e79023eadeacf52cf88c471c885f7be88 Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Tue, 24 Feb 2026 20:56:54 +0100 Subject: [PATCH 1/3] Add LLVM 22 --- .gitlab-ci.yml | 2 +- ci/clang-trixie.ini | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d26f568a25..5d25577871 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,7 +23,7 @@ variables: BUILD_PARALLEL_JOBS: 6 TEST_PARALLEL_JOBS: 4 - CLANG_VERSION: 21 + CLANG_VERSION: 22 CLANG: "clang-${CLANG_VERSION}" SCAN_BUILD: "scan-build-${CLANG_VERSION}" LLVM_SYMBOLIZER: "/usr/lib/llvm-${CLANG_VERSION}/bin/llvm-symbolizer" diff --git a/ci/clang-trixie.ini b/ci/clang-trixie.ini index 3f287eda3c..eb6da3f1b8 100644 --- a/ci/clang-trixie.ini +++ b/ci/clang-trixie.ini @@ -12,9 +12,9 @@ # LTO builds with clang [binaries] -ar = 'llvm-ar-21' -c = 'clang-21' -c_ld = 'lld-21' +ar = 'llvm-ar-22' +c = 'clang-22' +c_ld = 'lld-22' [project options] named-lto = 'thin' From 239464f27643bf609e9c0ad79ab2d597ccbb2280 Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Wed, 4 Mar 2026 10:56:41 +0100 Subject: [PATCH 2/3] Use clang-format-22 to update formatting --- bin/named/statschannel.c | 4 ++-- lib/dns/adb.c | 12 ++++++------ lib/dns/include/dns/message.h | 2 +- lib/dns/include/dns/sdlz.h | 4 ++-- lib/dns/time.c | 4 ++-- lib/dns/zone.c | 2 +- lib/isc/include/isc/queue.h | 4 ++-- lib/isc/include/isc/quota.h | 2 +- lib/isc/include/isc/refcount.h | 2 +- lib/ns/include/ns/client.h | 4 ++-- tests/isc/file_test.c | 4 ++-- 11 files changed, 22 insertions(+), 22 deletions(-) diff --git a/bin/named/statschannel.c b/bin/named/statschannel.c index 08020fd494..56b473cf3d 100644 --- a/bin/named/statschannel.c +++ b/bin/named/statschannel.c @@ -58,11 +58,11 @@ #define STATS_XML_VERSION_MAJOR "3" #define STATS_XML_VERSION_MINOR "14" -#define STATS_XML_VERSION STATS_XML_VERSION_MAJOR "." STATS_XML_VERSION_MINOR +#define STATS_XML_VERSION STATS_XML_VERSION_MAJOR "." STATS_XML_VERSION_MINOR #define STATS_JSON_VERSION_MAJOR "1" #define STATS_JSON_VERSION_MINOR "8" -#define STATS_JSON_VERSION STATS_JSON_VERSION_MAJOR "." STATS_JSON_VERSION_MINOR +#define STATS_JSON_VERSION STATS_JSON_VERSION_MAJOR "." STATS_JSON_VERSION_MINOR struct named_statschannel { /* Unlocked */ diff --git a/lib/dns/adb.c b/lib/dns/adb.c index 217356fd27..5e16f0b7fb 100644 --- a/lib/dns/adb.c +++ b/lib/dns/adb.c @@ -424,12 +424,12 @@ enum { */ #define FIND_WANTEVENT(fn) (((fn)->options & DNS_ADBFIND_WANTEVENT) != 0) #define FIND_WANTEMPTYEVENT(fn) (((fn)->options & DNS_ADBFIND_EMPTYEVENT) != 0) -#define FIND_AVOIDFETCHES(fn) (((fn)->options & DNS_ADBFIND_AVOIDFETCHES) != 0) -#define FIND_STARTATZONE(fn) (((fn)->options & DNS_ADBFIND_STARTATZONE) != 0) -#define FIND_STATICSTUB(fn) (((fn)->options & DNS_ADBFIND_STATICSTUB) != 0) -#define FIND_NOVALIDATE(fn) (((fn)->options & DNS_ADBFIND_NOVALIDATE) != 0) -#define FIND_HAS_ADDRS(fn) (!ISC_LIST_EMPTY((fn)->list)) -#define FIND_NOFETCH(fn) (((fn)->options & DNS_ADBFIND_NOFETCH) != 0) +#define FIND_AVOIDFETCHES(fn) (((fn)->options & DNS_ADBFIND_AVOIDFETCHES) != 0) +#define FIND_STARTATZONE(fn) (((fn)->options & DNS_ADBFIND_STARTATZONE) != 0) +#define FIND_STATICSTUB(fn) (((fn)->options & DNS_ADBFIND_STATICSTUB) != 0) +#define FIND_NOVALIDATE(fn) (((fn)->options & DNS_ADBFIND_NOVALIDATE) != 0) +#define FIND_HAS_ADDRS(fn) (!ISC_LIST_EMPTY((fn)->list)) +#define FIND_NOFETCH(fn) (((fn)->options & DNS_ADBFIND_NOFETCH) != 0) #define ADBNAME_TYPE_MASK \ (DNS_ADBFIND_STARTATZONE | DNS_ADBFIND_STATICSTUB | \ diff --git a/lib/dns/include/dns/message.h b/lib/dns/include/dns/message.h index 17f7f97d11..a4cfa6efdf 100644 --- a/lib/dns/include/dns/message.h +++ b/lib/dns/include/dns/message.h @@ -139,7 +139,7 @@ enum { #define DNS_EDE_MAX_ERRORS 3 #define DNS_EDNS_MAX_OPTIONS DNS_OPT_COUNT + DNS_EDE_MAX_ERRORS -#define DNS_MESSAGE_REPLYPRESERVE (DNS_MESSAGEFLAG_RD | DNS_MESSAGEFLAG_CD) +#define DNS_MESSAGE_REPLYPRESERVE (DNS_MESSAGEFLAG_RD | DNS_MESSAGEFLAG_CD) #define DNS_MESSAGEEXTFLAG_REPLYPRESERVE (DNS_MESSAGEEXTFLAG_DO) #define DNS_MESSAGE_HEADERLEN 12 /*%< 6 uint16_t's */ diff --git a/lib/dns/include/dns/sdlz.h b/lib/dns/include/dns/sdlz.h index 8466b581c4..974f94aa2a 100644 --- a/lib/dns/include/dns/sdlz.h +++ b/lib/dns/include/dns/sdlz.h @@ -330,8 +330,8 @@ dns_sdlz_putrr_t dns_sdlz_putrr; */ typedef isc_result_t - dns_sdlz_putsoa_t(dns_sdlzlookup_t *lookup, const char *mname, - const char *rname, uint32_t serial); +dns_sdlz_putsoa_t(dns_sdlzlookup_t *lookup, const char *mname, + const char *rname, uint32_t serial); dns_sdlz_putsoa_t dns_sdlz_putsoa; /*%< * This function may optionally be called from the 'authority' diff --git a/lib/dns/time.c b/lib/dns/time.c index ec49f522e0..6b1e334323 100644 --- a/lib/dns/time.c +++ b/lib/dns/time.c @@ -41,8 +41,8 @@ dns_time64_totext(int64_t t, isc_buffer_t *target) { /* * Warning. Do NOT use arguments with side effects with these macros. */ -#define is_leap(y) ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0) -#define year_secs(y) ((is_leap(y) ? 366 : 365) * 86400) +#define is_leap(y) ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0) +#define year_secs(y) ((is_leap(y) ? 366 : 365) * 86400) #define month_secs(m, y) ((days[m] + ((m == 1 && is_leap(y)) ? 1 : 0)) * 86400) tm.tm_year = 70; diff --git a/lib/dns/zone.c b/lib/dns/zone.c index 855ac052ce..a459d1d1b0 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -588,7 +588,7 @@ typedef enum { DNS_ZONEFLG___MAX = UINT64_MAX, /* trick to make the ENUM 64-bit wide */ } dns_zoneflg_t; -#define DNS_ZONE_OPTION(z, o) ((atomic_load_relaxed(&(z)->options) & (o)) != 0) +#define DNS_ZONE_OPTION(z, o) ((atomic_load_relaxed(&(z)->options) & (o)) != 0) #define DNS_ZONE_SETOPTION(z, o) atomic_fetch_or(&(z)->options, (o)) #define DNS_ZONE_CLROPTION(z, o) atomic_fetch_and(&(z)->options, ~(o)) diff --git a/lib/isc/include/isc/queue.h b/lib/isc/include/isc/queue.h index a2abe24c15..02f94d866d 100644 --- a/lib/isc/include/isc/queue.h +++ b/lib/isc/include/isc/queue.h @@ -21,10 +21,10 @@ STATIC_ASSERT(sizeof(struct __cds_wfcq_head) <= ISC_OS_CACHELINE_SIZE, typedef struct isc_queue { struct __cds_wfcq_head head; uint8_t __padding_head[ISC_OS_CACHELINE_SIZE - - sizeof(struct __cds_wfcq_head)]; + sizeof(struct __cds_wfcq_head)]; struct cds_wfcq_tail tail; uint8_t __padding_tail[ISC_OS_CACHELINE_SIZE - - sizeof(struct __cds_wfcq_head)]; + sizeof(struct __cds_wfcq_head)]; } isc_queue_t; typedef struct cds_wfcq_node isc_queue_node_t; diff --git a/lib/isc/include/isc/quota.h b/lib/isc/include/isc/quota.h index da5b3465c1..6137cd43a2 100644 --- a/lib/isc/include/isc/quota.h +++ b/lib/isc/include/isc/quota.h @@ -64,7 +64,7 @@ struct isc_quota { struct { struct cds_wfcq_head head; uint8_t __padding[ISC_OS_CACHELINE_SIZE - - sizeof(struct __cds_wfcq_head)]; + sizeof(struct __cds_wfcq_head)]; struct cds_wfcq_tail tail; } jobs; ISC_LINK(isc_quota_t) link; diff --git a/lib/isc/include/isc/refcount.h b/lib/isc/include/isc/refcount.h index 77763ff505..cce815ad44 100644 --- a/lib/isc/include/isc/refcount.h +++ b/lib/isc/include/isc/refcount.h @@ -202,7 +202,7 @@ typedef atomic_uint_fast32_t isc_refcount_t; __attribute__((unused)); \ stat void name##_detach(name##_t **ptrp) __attribute__((unused)) -#define ISC_REFCOUNT_DECL(name) ISC__REFCOUNT_DECL(name, ISC_REFCOUNT_BLANK) +#define ISC_REFCOUNT_DECL(name) ISC__REFCOUNT_DECL(name, ISC_REFCOUNT_BLANK) #define ISC_REFCOUNT_STATIC_DECL(name) ISC__REFCOUNT_DECL(name, static inline) #define ISC__REFCOUNT_IMPL(name, destroy, stat) \ diff --git a/lib/ns/include/ns/client.h b/lib/ns/include/ns/client.h index 41d52b54b0..f4360211af 100644 --- a/lib/ns/include/ns/client.h +++ b/lib/ns/include/ns/client.h @@ -256,8 +256,8 @@ struct ns_client { #define NS_CLIENTATTR_WANTNSID 0x000020 /*%< include nameserver ID */ #define NS_CLIENTATTR_BADCOOKIE \ 0x000040 /*%< Presented cookie is bad/out-of-date */ -#define NS_CLIENTATTR_WANTRC 0x000080 /*%< include Report-Channel */ -#define NS_CLIENTATTR_WANTAD 0x000100 /*%< want AD in response if possible */ +#define NS_CLIENTATTR_WANTRC 0x000080 /*%< include Report-Channel */ +#define NS_CLIENTATTR_WANTAD 0x000100 /*%< want AD in response if possible */ #define NS_CLIENTATTR_WANTCOOKIE 0x000200 /*%< return a COOKIE */ #define NS_CLIENTATTR_HAVECOOKIE 0x000400 /*%< has a valid COOKIE */ #define NS_CLIENTATTR_WANTEXPIRE 0x000800 /*%< return seconds to expire */ diff --git a/tests/isc/file_test.c b/tests/isc/file_test.c index c569dbd9cd..414d1fed03 100644 --- a/tests/isc/file_test.c +++ b/tests/isc/file_test.c @@ -31,8 +31,8 @@ #include -#define NAME "internal" -#define SHA "3bed2cb3a3acf7b6a8ef408420cc682d5520e26976d354254f528c965612054f" +#define NAME "internal" +#define SHA "3bed2cb3a3acf7b6a8ef408420cc682d5520e26976d354254f528c965612054f" #define TRUNC_SHA "3bed2cb3a3acf7b6" #define BAD1 "in/internal" From 01d16e049e7673724800661fbbe7d75c4fe0e591 Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Wed, 4 Mar 2026 10:58:15 +0100 Subject: [PATCH 3/3] Ignore clang-format-22 reformatting commits --- .git-blame-ignore-revs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 7aa78c6213..46b93c9108 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -1554,3 +1554,5 @@ ebb5bd9c0f079de8970b538fe48e5f5c60ea7ee9 d051e1e8f8eea1400191e0fd20641394b7d438be # Use ControlStatementsExceptControlMacros for SpaceBeforeParens 42496f3f4a8802c0ba8033a1bcabc8bebf5b0087 +# Use clang-format-22 to update formatting +239464f27643bf609e9c0ad79ab2d597ccbb2280