Re: [rfc, PATCH v1 1/1] hrtimers: Refactor hrtimer_clock_to_base_table initialisation

From: Andy Shevchenko
Date: Tue Feb 11 2025 - 07:19:04 EST


On Mon, Feb 10, 2025 at 10:26:02AM +0200, Andy Shevchenko wrote:
> Clang complains about overlapped initialisers in the
> hrtimer_clock_to_base_table definition. With `make W=1` and
> CONFIG_WERROR=y (which is default nowadays) this breaks
> the build:
>
> CC kernel/time/hrtimer.o
> kernel/time/hrtimer.c:124:21: error: initializer overrides prior initialization of this subobject [-Werror,-Winitializer-overrides]
> 124 | [CLOCK_REALTIME] = HRTIMER_BASE_REALTIME,
>
> kernel/time/hrtimer.c:122:27: note: previous initialization is here
> 122 | [0 ... MAX_CLOCKS - 1] = HRTIMER_MAX_CLOCK_BASES,
>
> (and similar for CLOCK_MONOTONIC, CLOCK_BOOTTIME, and CLOCK_TAI).
>
> Refactor hrtimer_clock_to_base_table initialisation to make
> the compiler happy.

For the record, GCC also fails here.

--
With Best Regards,
Andy Shevchenko