[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANiq72ne8m4q1rRToJsH1A+b1_7FAk1wYtcwvKc9zH_8sR2-gQ@mail.gmail.com>
Date: Fri, 15 Oct 2021 14:36:56 +0200
From: Miguel Ojeda <miguel.ojeda.sandonis@...il.com>
To: Rasmus Villemoes <linux@...musvillemoes.dk>
Cc: Nick Desaulniers <ndesaulniers@...gle.com>,
Peter Zijlstra <peterz@...radead.org>,
Miguel Ojeda <ojeda@...nel.org>,
Nathan Chancellor <nathan@...nel.org>,
Kees Cook <keescook@...omium.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
llvm@...ts.linux.dev,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: [PATCH] compiler_types: mark __compiletime_assert failure as __noreturn
On Fri, Oct 15, 2021 at 10:11 AM Rasmus Villemoes
<linux@...musvillemoes.dk> wrote:
>
> A yakshave that would be worthwhile is to kill off the macro
> compiletime_assert() completely - three is a crowd. It sounds like it
> would be implemented in terms of _Static_assert, but it's actually
> __attribute__(error). We can fold the definition of compiletime_assert
> into BUILD_BUG_ON_MSG.
Agreed, two should be enough.
> Why do we even have a no-op version if !__OPTIMIZE__? AFAIK there's no
> CONFIG_O0 option, and such a build wouldn't be interesting at all - it
> can't be expected to boot, and it would likely throw warnings left and
> right.
Yeah, I don't think it would compile as it is anyway.
Perhaps it is there for some kind of tooling? For a static analyzer or
something like sparse (if it didn't have its own define)...
But yeah, every use of it should have a comment explaining why it is
there, like crypto/jitterentropy.c does. There are a couple without
it.
Cheers,
Miguel
Powered by blists - more mailing lists