[PATCH] eal: provide rte attribute macro for GCC attribute

Morten Brørup mb at smartsharesystems.com
Sun Feb 18 13:53:40 CET 2024


> From: Thomas Monjalon [mailto:thomas at monjalon.net]
> Sent: Sunday, 18 February 2024 13.24
> 
> 15/02/2024 23:20, Tyler Retzlaff:
> > Provide a new macro __rte_attribute(a) that when directly used
> > compiles to empty for MSVC and to __attribute__(a) when using
> GCC/LLVM.
> >
> > Replace direct use of __attribute__ in __rte_xxx macros where there
> is
> > existing empty expansion of the macro for MSVC allowing removal of
> > repeated #ifdef RTE_TOOLCHAIN_MSVC per macro to expand empty.
> 
> I'm not sure it makes sense.
> I prefer seeing clearly what is empty with MSVC.

This topic has previously been discussed in another context - adding external libraries [1].

Like you do here, I generally preferred #ifdefs in the code, but the majority preferred stubs "promoting improved code readability".

I might argue that Tyler is following that guidance here; and perhaps the decision should be reconsidered, now that we have a real-life example of how it affects code readability. ;-)

[1]: https://inbox.dpdk.org/dev/20240109141009.497807-1-jerinj@marvell.com/



More information about the dev mailing list