Release coccinelle-0.1.9
authorCoccinelle <cocci@diku.dk>
Sun, 3 Oct 2010 12:01:09 +0000 (14:01 +0200)
committerRene Rydhof Hansen <rrh@cs.aau.dk>
Sun, 3 Oct 2010 12:01:09 +0000 (14:01 +0200)
commit002099fc953f8417029d3b840945fde3251712bc
tree21ca74f8da498afb6a8a74802e3c3f937033f1b2
parent978fd7e56b141f7e4c8930acdbf0a806489e63a5
Release coccinelle-0.1.9

** Language:
   - allow fresh identifiers to be declared using ## such that the value mixes
     both strings and previously declared metavariables

** Features:
   - better handling of expanded code containing ##. Now compute the
     result.
   - more precise warning message for the "'\' outside define".
     Thanks to Nicholas Mc Guire for pointing out the problem.
   - more precise warning message related to ifdefization.
     Thanks to Derek Jones for pointing out the problem.
   - we don't create any more certain files in /tmp (they may be a cause
     of security problems).
     Thanks to Eugeniy Meshcheryakov for pointing out the problem.
   - More optimization for the case of just deleting a complete function.
     Allows this to happen without tracing through all the control-flow
     paths.  Thanks to Francois Bissyande for pointing out the problem.
   - prevent code from being added to the beginning or end of a disjunction
   - more information about why a script is not applied when using -debug option
   - added -no_safe_expressions option
   - added -no_loops option.  Ignores back edges derived from looping
     constructs.  This is unsafe, but perhaps useful for bug finding, as it can
     be more efficient.
   - for semantic matches, allow "minus" on same code with multiple
     environments
   - better error message for mismatch of parenthesis in column 0 with normal
     parenthesis.  Thanks to Derek Jones for pointing out the problem.
   - allow disjunctions on function return types.  Thanks to Pierre Habouzit
     for pointing this out.

** Bugfix:
   - keep disjunction in the proper order for structure initialization fields
   - variables declared in different places should not seem to match each
     other
   - drop complaints about label metavariables not being used
   - drop test information from the type of an expression when the expression
     is bound to a metavariable
   - nests should not extend beyond the before and after code, even if the
     before and after code matches the nest code
   - nests should extend into conditionals that end in error exit
   - take into account metavariables on "else".  Thanks to Derek Jones for
     pointing out the problem.
   - print single quotes on generated character constants
   - better typedef handling in the initialisation/affectation builtin
     isomorphism, cf -test init_affect_typedef
   - support disjunction of types on variable declaration
   - allow @ within strings in script code.  ignore // comment lines in script
     code.
   - don't drop + code placed after the transformed code
   - drop spaces produced by removing code before semicolons
   - adjusted spacing within generated code
   - less verbose -sp.  Thanks to Derek Jones for pointing out the problem.
   - accept multiple type names in a SmPL typedef declaration.
37 files changed:
Makefile
changes.txt
commitmsg
docs/manual/main_grammar.pdf
docs/manual/manual.pdf
docs/manual/options.pdf
docs/manual/spatch_options.tex
engine/asttoctl2.ml
engine/cocci_vs_c.ml
engine/ctlcocci_integration.ml
engine/lib_matcher_c.ml
globals/config.ml.in
main.ml
parsing_c/lib_parsing_c.ml
parsing_c/type_annoter_c.ml
parsing_c/unparse_c.ml
parsing_c/unparse_cocci.ml
parsing_c/visitor_c.mli
parsing_cocci/adjacency.ml
parsing_cocci/adjust_pragmas.ml
parsing_cocci/lexer_script.mll
parsing_cocci/parse_cocci.ml
parsing_cocci/parser_cocci_menhir.ml
parsing_cocci/parser_cocci_menhir.mly
parsing_cocci/visitor_ast0_types.ml
standard.iso
test.ml
tests/SCORE_expected.sexp
tests/SCORE_expected.sexp.save
tests/dbg1.c [new file with mode: 0644]
tests/dbg1.cocci [new file with mode: 0644]
tests/dbg1.res [new file with mode: 0644]
tests/enum.c [new file with mode: 0644]
tests/enum.cocci [new file with mode: 0644]
tests/enum.res [new file with mode: 0644]
tests/overshoot.res
tools/a.out [new file with mode: 0755]