12/02/2024 22:49, Tyler Retzlaff: > MSVC does not support GCC args... forwarding of args replace > with ... and __VA_ARGS__ when forwarding. Both forms of > forwarding are a compiler extension but the latter is supported > by both MSVC and GCC.
You use the non-standard ", ## __VA_ARGS__" which would not compile in pedantic modes, and possibly with other compilers. I remember a private chat where I recommended you to use this: lib/eal/include/rte_common.h /** * ISO C helpers to modify format strings using variadic macros. * This is a replacement for the ", ## __VA_ARGS__" GNU extension. * An empty %s argument is appended to avoid a dangling comma. */ #define RTE_FMT(fmt, ...) fmt "%.0s", __VA_ARGS__ "" #define RTE_FMT_HEAD(fmt, ...) fmt #define RTE_FMT_TAIL(fmt, ...) __VA_ARGS__ Why not using it?