On Sun, Oct 10, 2021 at 3:55 AM Miguel Ojeda
<miguel.ojeda.sandonis(a)gmail.com> wrote:
On Sun, Oct 10, 2021 at 11:37 AM Marc Zyngier <maz(a)kernel.org> wrote:
>
> I think the problem squarely lies with the compiler (or the
> way it interprets the BUILD_BUG helper). If it cannot see that
> BUILD_BUG() trumps the control flow analysis, then this warning
> is totally useless.
The fake, generated `__compiletime_assert` should be annotated
`__noreturn`. That gives enough information to the compiler to avoid
the warning:
https://godbolt.org/z/x1v69jjYY
SGTM, please do.
And we should also move `__compiletime_{error,warning}` to compiler
attributes since Clang trunk has it now, so that we catch the error
earlier:
https://godbolt.org/z/jd8Eb9Mf1
Didn't I send a patch for that?
b83a908498d68fafca931e1276e145b339cac5fb
is in mainline.
--
Thanks,
~Nick Desaulniers