Markus Elfring writes:
>>> * How many software implementations use identical type definitions
>>> and function-like macros?
>>
>> I don't know.
>
> Can it become interesting to find more about such usage patterns out?
Rule of thumb: for every user reporting an issue, there are several more
Markus Elfring writes:
* spatch seems to have trouble parsing
ARMSSE *s = ARMSSE(opaque);
where ARMSSE is a typedef, and ARMSSE() is a function-like macro.
Yes, I know that's in rather poor taste.
>>>
>>> I am curious for the safe handling of related
Markus Elfring writes:
>> * spatch seems to have trouble parsing
>>
>> ARMSSE *s = ARMSSE(opaque);
>>
>> where ARMSSE is a typedef, and ARMSSE() is a function-like macro.
>> Yes, I know that's in rather poor taste.
>
> I am curious for the safe handling of related software development
>> * How many software implementations use identical type definitions
>> and function-like macros?
>
> I don't know.
Can it become interesting to find more about such usage patterns out?
> For what it's worth, it's valid C. Unless I'm mistaken,
> Coccinelle tries to support as much of C as
>>> * spatch seems to have trouble parsing
>>>
>>> ARMSSE *s = ARMSSE(opaque);
>>>
>>> where ARMSSE is a typedef, and ARMSSE() is a function-like macro.
>>> Yes, I know that's in rather poor taste.
>>
>> I am curious for the safe handling of related software development
>> challenges.
>>
> * spatch seems to have trouble parsing
>
> ARMSSE *s = ARMSSE(opaque);
>
> where ARMSSE is a typedef, and ARMSSE() is a function-like macro.
> Yes, I know that's in rather poor taste.
I am curious for the safe handling of related software development challenges.
> * Workaround #1:
I noticed that Coccinelle skips over much of QEMU's hw/arm/armsse.c.
I append a minimized test case. Observations:
* spatch seems to have trouble parsing
ARMSSE *s = ARMSSE(opaque);
where ARMSSE is a typedef, and ARMSSE() is a function-like macro.
Yes, I know that's in rather poor