Coccinelle is a tool for matching and transformation of C code.  Coccinelle
is well suited for automating low-level evolutions, such as updating the
use of APIs, and for bug finding.  Examples are available on the Coccinelle
web site (http://coccinelle.lip6.fr/).  A number of bug-finding rules are
also available in the Linux kernel source code (versions since 2.6.36) in
the directory scripts/coccinelle.

Version 0.2.4 of Coccinelle has been released and is available at
http://coccinelle.lip6.fr/download.php.  Some of the new features in this
version are as follows:

* Python or Ocaml script rules can have names and can declare
  identifier metavariables that can be inherited by subsequent SmPL rules.

* Several new types of metavariables have been added: declaration, field,
  struct, and enum.  The latter two match any expression of structure type
  or enum type, respectively.  Furthermore, the only typed expression
  metavariables that match a sizeof expression are those with type size_t,
  and the only typed expression metavariables that match a pointer
  difference expression are those of type ptrdiff_t.

* Array initializers and enum declarations can now be matched.

* Coccinelle is compatible with Python 2.7

* The option -recursive_includes causes Coccinelle to recursively unfold
  include files.

* There have been some improvements in type inference and pretty printing
  for C code.

* Indexing using id-utils is now supported
  (http://www.gnu.org/software/idutils/)

The complete set of changes is available at
http://coccinelle.lip6.fr/distrib/changes.html

_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)

Reply via email to