[PATCH v3 00/16] stop using variadic argument pack extension
Tyler Retzlaff
roretzla at linux.microsoft.com
Tue Feb 27 19:14:46 CET 2024
On Mon, Feb 26, 2024 at 12:54:36PM -0800, Stephen Hemminger wrote:
> On Mon, 26 Feb 2024 12:19:30 -0800
> Tyler Retzlaff <roretzla at linux.microsoft.com> wrote:
>
> > RTE_LOG_LINE cannot be augmented with a prefix format and arguments
> > without the user of RTE_LOG_LINE using the args... and ## args compiler
> > extension to conditionally remove trailing comma when the macro receives
> > only a single argument.
> >
> > Provide a new/similar macro RTE_LOG_LINE_PREFIX that accepts the prefix
> > format and arguments as separate parameters allowing them to be expanded
> > at the correct locations inside of RTE_FMT() allowing the rest of the
> > non-prefix format string and arguments to be collapsed to the argument
> > pack which can be directly forwarded with __VA_ARGS__ avoiding the need
> > for conditional comma removal.
> >
> > I've done my best to manually check expansions (preprocessed) and compiled
> > printf of the logs to validate correct output.
> >
> > note: due to drastic change in series i have not carried any series acks
> > forward.
>
> The changes look good, you might want to add release note, update coding
> style doc, and/or update checkpatch to discourage re-introduction.
re-introduction should be protected by the CI. i know checkpatch would
be better but i couldn't think of a good way to match an arbitrarily
named pack ... reliably where it could potentially cause noise.
i'll look into style doc in a separate series since i think there are a
couple of things i'd like to propose there now that we are using C11.
thanks for the review!
>
> Series-acked-by: Stephen Hemminger <stephen at networkplumber.org>
More information about the dev
mailing list