summaryrefslogtreecommitdiff
path: root/include/linux/compiler.h
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.com>2025-01-20 11:58:12 +0300
committerJiri Kosina <jkosina@suse.com>2025-01-20 11:58:12 +0300
commit670af65d2ab4a6a9bb72f014b080757e291ad3fe (patch)
treed54ccf4ba52fa9f15ed8f1de6214edc53e1502be /include/linux/compiler.h
parent53078a736fbc60e5d3a1e14f4cd4214003815026 (diff)
parent1b1d865715e0eda52e62226261651e97673773d6 (diff)
downloadlinux-670af65d2ab4a6a9bb72f014b080757e291ad3fe.tar.xz
Merge branch 'for-6.14/constify-bin-attribute' into for-linus
- constification of 'struct bin_attribute' in various HID driver (Thomas Weißschuh)
Diffstat (limited to 'include/linux/compiler.h')
-rw-r--r--include/linux/compiler.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/include/linux/compiler.h b/include/linux/compiler.h
index 4d4e23b6e3e7..469a64dd6495 100644
--- a/include/linux/compiler.h
+++ b/include/linux/compiler.h
@@ -239,11 +239,18 @@ static inline void *offset_to_ptr(const int *off)
#endif /* __ASSEMBLY__ */
+#ifdef __CHECKER__
+#define __BUILD_BUG_ON_ZERO_MSG(e, msg) (0)
+#else /* __CHECKER__ */
+#define __BUILD_BUG_ON_ZERO_MSG(e, msg) ((int)sizeof(struct {_Static_assert(!(e), msg);}))
+#endif /* __CHECKER__ */
+
/* &a[0] degrades to a pointer: a different type from an array */
-#define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
+#define __must_be_array(a) __BUILD_BUG_ON_ZERO_MSG(__same_type((a), &(a)[0]), "must be array")
/* Require C Strings (i.e. NUL-terminated) lack the "nonstring" attribute. */
-#define __must_be_cstr(p) BUILD_BUG_ON_ZERO(__annotated(p, nonstring))
+#define __must_be_cstr(p) \
+ __BUILD_BUG_ON_ZERO_MSG(__annotated(p, nonstring), "must be cstr (NUL-terminated)")
/*
* This returns a constant expression while determining if an argument is