- Better handling of the case of a matched declaration that should only
be replaced by other top level things.
- Improved filtering of result of matching atomic patterns
- Drop positions before creating function prototype rules
- Adjust position of { introduced by adding multiple statements in a
single-statement position
- Drop newline after function call ( when all arguments on that line are
eliminated
- Accept removal of a single declaration, replaced by arbitrary,
non-declaration code
- smpl_spacing takes into account newlines, indentation
to use this where dynlib is available
- on native-code arch, only build the native version and install this
to be used by default - it's about 5x faster
tweak & ok mk@.
Coccinelle is a program matching and transformation engine which
provides the language SmPL (Semantic Patch Language) for specifying
desired matches and transformations in C code.
Coccinelle was initially targeted towards performing collateral
evolutions in Linux. Such evolutions comprise the changes that are
needed in client code in response to evolutions in library APIs, and may
include modifications such as renaming a function, adding a function
argument whose value is somehow context-dependent, and reorganizing a
data structure.
Beyond collateral evolutions, Coccinelle is successfully used (by INRIA
and others) for finding and fixing bugs in systems code.