> Now I'm not sure what is wanted to be done.
Sorry if my last mail caused confusion: I just thought I may simplify
things by suggesting to avoid expanding the "inline" macro for
generating the semantic patch at all: Without "inline" being defined as
a macro, Coccinelle would no see any attributes at all, so that the
complete task of the semantic patch boils down to converting
static inline <someType> <someFunctionName>(<someParameterList>) {
<someCode>
}
to
static inline <someType> <someFunctionName>(<someParameterList>);
<someType> <someFunctionName>(<someParameterList>) {
<someCode>
}
Then, after creating and applying the semantic patch that does the
conversion described above, the linux build process would do its macro
magic as usual, causing the preprocessor to do its work, e.g. replacing
"inline" by "inline __attribute__((always_inline))
__attribute__((no_instrument_function))". Doing so would make g++ happy
as well, as the attributes are now only present in the function's
declaration instead of the functions definition.
_______________________________________________
Cocci mailing list
[email protected]
https://systeme.lip6.fr/mailman/listinfo/cocci