Coccinelle release 0.2.5-rc5
authorCoccinelle <cocci@diku.dk>
Sun, 6 Feb 2011 20:17:52 +0000 (21:17 +0100)
committerRene Rydhof Hansen <rrh@cs.aau.dk>
Sun, 6 Feb 2011 20:17:52 +0000 (21:17 +0100)
commitd3f655c619238baba11f20bc9f55769e66d3e428
treedb8715ad9340030311a969560a853caf49eaeb5e
parentb23ff9c7302ebf30b88a122d92bbfd8656f4d192
Coccinelle release 0.2.5-rc5

** Language:
- Make a very small attempt to parse C++ code, amounting to accepting
  identifiers containing ::, tilde, and template invocations.  Use the
  option -c++.  This is not likely to be very useful in practice.
- Added metavariable metavariable type.
- Add disjunctions on identifiers in some contexts

** Features:
- support transformations on variables (only) in declarations that declare
  multiple variables
- allow #endif XXX in C code
- relax_include_path now applied to non local includes too, in which case
  it tries to find a unique file with a suffix of the provided name.
  this is useful for directories that are intended to be symbolic links.
- support matching and removing #undef
- support for iteration in ocaml, requires use of -no_show_diff
- calls to likely and unlikely propagate test expression status to their
  arguments
- reuse typedefs and macros from complete parsing when reparsing the
  transformed code
- optimization for an if branch that is just { ... }

** Bugfix:
- improved parsing of expressions to allow ... to the right of operators in
  more places
- Fix check_config for Python 2.7 on Fedora 14 (Reported-by: Michael Stefaniuc)
- Check for ocamlfind in configure (Reported-by: Paul E. McKenney)
- Postpone use of ocamlfind at runtime to report fewer errors
- Add support for Python 2.4 binding with the provided pycaml library
41 files changed:
changes.txt
docs/manual/cocci_syntax.tex
docs/manual/main_grammar.pdf
docs/manual/manual.pdf
docs/manual/options.pdf
engine/asttoctl2.ml
engine/cocci_vs_c.ml
globals/config.ml.in
parsing_c/unparse_cocci.ml
parsing_cocci/.depend
parsing_cocci/adjust_pragmas.ml
parsing_cocci/arity.ml
parsing_cocci/ast0_cocci.ml
parsing_cocci/ast0_cocci.mli
parsing_cocci/ast0toast.ml
parsing_cocci/ast_cocci.ml
parsing_cocci/ast_cocci.mli
parsing_cocci/check_meta.ml
parsing_cocci/compute_lines.ml
parsing_cocci/context_neg.ml
parsing_cocci/disjdistr.ml
parsing_cocci/free_vars.ml
parsing_cocci/function_prototypes.ml
parsing_cocci/get_constants2.ml
parsing_cocci/index.ml
parsing_cocci/iso_pattern.ml
parsing_cocci/parse_cocci.ml
parsing_cocci/parser_cocci_menhir.ml
parsing_cocci/parser_cocci_menhir.mly
parsing_cocci/pretty_print_cocci.ml
parsing_cocci/single_statement.ml
parsing_cocci/type_infer.ml
parsing_cocci/unify_ast.ml
parsing_cocci/unitary_ast0.ml
parsing_cocci/unparse_ast0.ml
parsing_cocci/visitor_ast.ml
parsing_cocci/visitor_ast0.ml
tests/disjid.c [new file with mode: 0644]
tests/disjid.cocci [new file with mode: 0644]
tests/disjid.res [new file with mode: 0644]
tests/mini_null_ref.res