Re: [Cocci] Function-like macro with the same name as a typedef

2020-04-20 Thread Markus Armbruster
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

Re: [Cocci] Function-like macro with the same name as a typedef

2020-04-20 Thread Markus Armbruster
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

Re: [Cocci] Function-like macro with the same name as a typedef

2020-04-20 Thread Markus Armbruster
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

Re: [Cocci] Function-like macro with the same name as a typedef

2020-04-20 Thread Markus Elfring
>> * 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

Re: [Cocci] Function-like macro with the same name as a typedef

2020-04-20 Thread Markus Elfring
>>> * 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. >>

Re: [Cocci] Function-like macro with the same name as a typedef

2020-04-06 Thread Markus Elfring
> * 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:

[Cocci] Function-like macro with the same name as a typedef -> parse error

2020-04-06 Thread Markus Armbruster
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