The main changes are: * Better support for #endif and #undef
* A tiny effort to accomodate c++ code, with the option -c++. This allows some extra characters within identifiers. * Support for iteration of a semantic patch over a directory. Support is now provided for creating something like a new instance of a semantic patch that will be run on the directory again. It is possible to specify new virtual rules to be defined and new bindings of the virtual identifiers. It is also possible to restrict the set of files to something smaller than the entire directory. The initialize scripts and finalize scripts are only run at the very beginning and at the very end, making it possible to maintain information across different instances of the samentic patch. For the moment, this is only supported from ocaml code. If anyone wants to port it to python, that would be most welcome. And for the moment, it is necessary to give the option -no_show_diff. An example of iteration is in demos/iteration.cocci. This example first finds functions that return ERR_PTR, and then finds functions that return the result of those functions. At the same time, for each found function, it prints an org mode report when it finds a call with no IS_ERR test before a dereference. This semantic patch finds quite a lot of bugs in linux-next, that I haven't had much time to look into. julia _______________________________________________ Cocci mailing list [email protected] http://lists.diku.dk/mailman/listinfo/cocci (Web access from inside DIKUs LAN only)
