Julia,
I don't think that is what it is. The declarations are eg:
static inline __printf(2, 3)
void _dev_info(const struct device *dev, const char *fmt, ...)
{}
I guess that the whole first line is part of the declaration of _dev_info,
but Coccinelle can't cope with the __printf(2, 3).
https://stackoverflow.com/questions/17825588/what-does-this-generic-function-do
Skip to ; is a remarkably effective syntax error recovery strategy.
The parser needs to restart at a top-level declaration. It's a yacc-based
parser. We can't recover within the parsing process. Perhaps it would be
possible to remove what was betwen two ;s around the line and column with
the error, but it seems like there could be a risk of making things worse.
If it's yacc based you can recover where ever you like. Knowing how to
do it is something of a black art.
Bison supports a technique that does not require wearing a pointy hat:
stmt_list: error ';' |
stmt_list error ';' ;
where error represents the something-went-wrong token.
--
Derek M. Jones Software analysis
tel: +44 (0)1252 520667 blog:shape-of-code.coding-guidelines.com
_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci