LWN.net Logo

Coccinelle 0.2.4 released

From:  Julia Lawall <julia-AT-diku.dk>
To:  cocci-AT-diku.dk
Subject:  release of version 0.2.4
Date:  Fri, 19 Nov 2010 21:55:01 +0100 (CET)
Message-ID:  <Pine.LNX.4.64.1011192154140.29227@ask.diku.dk>
Archive-link:  Article, Thread

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



(Log in to post comments)

Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds