From e70a976958ce1bccd55c84be88f9688ad3a018e6 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Wed, 18 Jun 2025 12:01:31 +1000 Subject: [PATCH] Preserve brackets in DNS_SLABHEADER_GETATTR macro We need to turn off clang-format to preserve the brackets as 'attribute' can be an expression and we need it to be evaluated first. Similarly we need the entire result to be evaluated independent of the adjoining code. (cherry picked from commit 3620db5ea6f163199cf5a3ad09c32d02b374f748) --- lib/dns/include/dns/rdataslab.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/dns/include/dns/rdataslab.h b/lib/dns/include/dns/rdataslab.h index 3061f0ece4..8fc68322ca 100644 --- a/lib/dns/include/dns/rdataslab.h +++ b/lib/dns/include/dns/rdataslab.h @@ -154,8 +154,10 @@ enum { DNS_SLABHEADERATTR_STALE_WINDOW = 1 << 13, }; +/* clang-format off : RemoveParentheses */ #define DNS_SLABHEADER_GETATTR(header, attribute) \ - (atomic_load_acquire(&(header)->attributes) & attribute) + (atomic_load_acquire(&(header)->attributes) & (attribute)) +/* clang-format on */ #define DNS_SLABHEADER_SETATTR(header, attribute) \ atomic_fetch_or_release(&(header)->attributes, attribute) #define DNS_SLABHEADER_CLRATTR(header, attribute) \