Coccinelle release 0.2.5-rc8
authorCoccinelle <cocci@diku.dk>
Sun, 20 Mar 2011 19:43:10 +0000 (20:43 +0100)
committerRene Rydhof Hansen <rrh@cs.aau.dk>
Sun, 20 Mar 2011 19:43:10 +0000 (20:43 +0100)
commit190f1acf3b0fa9403bea541654465a6a00bf3693
tree3cd193567ef277a7e1eef7728b1a2825d7cc4e13
parent4dfbc1c2559051afaa06fbd7f7be19276d24bf44
Coccinelle release 0.2.5-rc8

** 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
- Pretend that & indicates a pointer in -c++ mode
- Support for new and delete
- Allow arrays in smpl parameter declarations.  Thanks to Jesper Louis
  Andersen for pointing out the problem.
- Field list metavariables
- Add the ability to add __attributes__ (NB, no matching on attributes)
- Slightly improved the error message for transformation on multiple
  variable declaration.  Thanks to Jonathan Nieder for pointing out the
  problem.

** 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
- better explanation when presenting glimpse tokens
- optimization for an if branch that is just { ... }
- spatch -control_flow_to_file file.c generates a file file.dot
- include files with names ending in .cpp if -c++ option is given

** 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
- Allow '@' in script code.  Thanks to Laurent Reveillere for noticing the
  problem.
- Remove an optimization of x or true to true in asttoctl2 for the case
  where x may make a modification, eg the case of -thing ?-thing
- Allow adding comments before a function.
73 files changed:
changes.txt
ctl/.depend
ctl/ctl_engine.ml
docs/manual/cocci_syntax.tex
docs/manual/main_grammar.pdf
docs/manual/manual.pdf
docs/manual/options.pdf
engine/asttoctl2.ml
engine/check_exhaustive_pattern.ml
engine/cocci_vs_c.ml
engine/pattern_c.ml
engine/pretty_print_engine.ml
globals/config.ml.in
main.ml
ocaml/coccilib.ml
ocaml/coccilib.mli
ocaml/ocamlcocci_aux.ml
ocaml/run_ocamlcocci.ml
ocaml/yes_prepare_ocamlcocci.ml
parsing_c/ast_c.ml
parsing_c/lexer_c.mll
parsing_c/lib_parsing_c.ml
parsing_c/pretty_print_c.ml
parsing_c/pretty_print_c.mli
parsing_c/unparse_c.ml
parsing_c/unparse_cocci.ml
parsing_c/unparse_hrule.ml
parsing_c/visitor_c.ml
parsing_c/visitor_c.mli
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/data.ml
parsing_cocci/data.mli
parsing_cocci/disjdistr.ml
parsing_cocci/free_vars.ml
parsing_cocci/get_constants2.ml
parsing_cocci/index.ml
parsing_cocci/iso_pattern.ml
parsing_cocci/lexer_cocci.mll
parsing_cocci/lexer_script.mll
parsing_cocci/parse_aux.ml
parsing_cocci/parse_cocci.ml
parsing_cocci/parser_cocci_menhir.ml
parsing_cocci/parser_cocci_menhir.mli
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
python/pycocci_aux.ml
scripts/extract_c_and_res.pl
testing.ml
tests/arparam.c [new file with mode: 0644]
tests/arparam.cocci [new file with mode: 0644]
tests/arparam.res [new file with mode: 0644]
tests/attradd.c [new file with mode: 0644]
tests/attradd.cocci [new file with mode: 0644]
tests/attradd.res [new file with mode: 0644]
tests/comadd.c [new file with mode: 0644]
tests/comadd.cocci [new file with mode: 0644]
tests/comadd.res [new file with mode: 0644]