[PATCH 01/11] Compiler Attributes: Add __require_explicit_initialization macro

Miguel Ojeda miguel.ojeda.sandonis at gmail.com
Wed Oct 14 04:28:55 PDT 2026


On Wed, Oct 14, 2026 at 12:40 AM Ian Rogers <irogers at google.com> wrote:
>
> +/*
> + * Optional: not supported by gcc
> + *
> + * clang: https://clang.llvm.org/docs/AttributeReference.html#require-explicit-initialization
> + */
> +#if __has_attribute(__require_explicit_initialization__)
> +# define __require_explicit_initialization __attribute__((__require_explicit_initialization__))
> +#else
> +# define __require_explicit_initialization
> +#endif

The LPC slides mention Clang 14+, but from a quick test in Compiler
Explorer and a `git log --grep` on the LLVM repository to confirm, it
seems the attribute was introduced in Clang 20+, no?

If that is correct, then it is not available in all LLVM versions we
support (LLVM 17+), so we should add:

     * Optional: only supported since clang >= 20.0

With that:

Acked-by: Miguel Ojeda <ojeda at kernel.org>

Thanks!

Cheers,
Miguel



More information about the linux-mtd mailing list