On Fri, 9 May 2025 23:34:27 +0300 Alexey Dobriyan <adobri...@gmail.com> wrote:
> Linux's BUG_ON is done backwards (condition is inverted). > But it is a long story. > > However C11/C23 allow to partially transition to what all normal > programmers are used to, namely assert(). > > Deprecate BUILD_BUG_ON, recommend static_assert/_Static_assert. > And then some day BUG_ON will be flipped as well. _Static_assert() is broken by design and only usable for trival tests. clang also output the entire expansion of the conditional (even when a message is specified) which can lead to very very very very long lines. It isn't at all suitable for many of the checks in the kernel. Look at the signedness test in min() as an example. David