On Fri, Sep 29, 2023 at 10:54 AM Morten Brørup <m...@smartsharesystems.com> wrote: > In my opinion, our move to C11 thus makes RTE_BUILD_BUG_ON obsolete.
That's my thought too. > > We should mark RTE_BUILD_BUG_ON as deprecated, and disallow RTE_BUILD_BUG_ON > in new code. Perhaps checkpatches could catch this? For a clear deprecation of a part of DPDK API, I don't see a need to add something in checkpatch. Putting a RTE_DEPRECATED in RTE_BUILD_BUG_ON directly triggers a build warning (caught by CI since we run with Werror). diff --git a/lib/eal/include/rte_common.h b/lib/eal/include/rte_common.h index 771c70f2c8..40542629c1 100644 --- a/lib/eal/include/rte_common.h +++ b/lib/eal/include/rte_common.h @@ -495,7 +495,7 @@ rte_is_aligned(const void * const __rte_restrict ptr, const unsigned int align) /** * Triggers an error at compilation time if the condition is true. */ -#define RTE_BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)])) +#define RTE_BUILD_BUG_ON(condition) RTE_DEPRECATED(RTE_BUILD_BUG_ON) ((void)sizeof(char[1 - 2*!!(condition)])) /*********** Cache line related macros ********/ $ ninja -C build-mini ... [18/333] Compiling C object lib/librte_eal.a.p/eal_common_eal_common_trace.c.o ../lib/eal/common/eal_common_trace.c: In function ‘eal_trace_init’: ../lib/eal/common/eal_common_trace.c:44:20: warning: "RTE_BUILD_BUG_ON" is deprecated 44 | RTE_BUILD_BUG_ON((offsetof(struct __rte_trace_header, mem) % 8) != 0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [38/333] Compiling C object lib/librte_eal.a.p/eal_common_malloc_heap.c.o ../lib/eal/common/malloc_heap.c: In function ‘malloc_heap_destroy’: ../lib/eal/common/malloc_heap.c:1398:20: warning: "RTE_BUILD_BUG_ON" is deprecated 1398 | RTE_BUILD_BUG_ON(offsetof(struct malloc_heap, lock) != 0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [50/333] Compiling C object lib/librte_eal.a.p/eal_unix_rte_thread.c.o ../lib/eal/unix/rte_thread.c: In function ‘rte_thread_self’: ../lib/eal/unix/rte_thread.c:239:20: warning: "RTE_BUILD_BUG_ON" is deprecated 239 | RTE_BUILD_BUG_ON(sizeof(pthread_t) > sizeof(uintptr_t)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- David Marchand