Weirdness in parsing cpp macros
Jani Nikula
jani.nikula at linux.intel.com
Wed Mar 20 13:42:21 UTC 2024
On Wed, 20 Mar 2024, Ville Syrjälä <ville.syrjala at linux.intel.com> wrote:
> On Wed, Mar 20, 2024 at 02:24:08PM +0100, Julia Lawall wrote:
>>
>>
>> On Wed, 20 Mar 2024, Ville Syrjälä wrote:
>>
>> > Hi Julia et al,
>> >
>> > In Linux drm/i915 driver (drivers/gpu/drm/i915/display/intel_pps.[ch])
>> > we have a magic macro like this:
>> >
>> > #define with_intel_pps_lock(dp, wf) \
>>
>> Did you try declaring:
>>
>> iterator name with_intel_pps_lock;
>>
>> up with the metavariables?
>
> Nope, didn't know about that one.
>
> Seems to work fine with that. Thanks.
Okay, I have another one wrt macros. :)
I'm trying to add a completely new variadic macro, but it fails at
"...". I've tried all sorts of things, but can't seem to be able to add
a literal "...".
I've tested that my cocci patch works with x's:
+ #define fn(p, xxx) foo(__VA_ARGS__)
but when I try to make it actually variadic like:
+ #define fn(p, ...) foo(__VA_ARGS__)
it gives me error. Is there a way to escape? Even tried to use a fresh
identifier vararg = "..."; but cocci made them unique with numbering
"...0" and "...1" etc.
BR,
Jani.
--
Jani Nikula, Intel
More information about the Intel-gfx
mailing list