Release coccinelle-0.1.7
authorCoccinelle <cocci@diku.dk>
Sun, 3 Oct 2010 11:57:49 +0000 (13:57 +0200)
committerRene Rydhof Hansen <rrh@cs.aau.dk>
Sun, 3 Oct 2010 11:57:49 +0000 (13:57 +0200)
commitb1b2de814d2c59af2526bc19d41bb22a0c1fd16d
tree2429a97df6744a2702bab3be3848f624e72fcb3c
parent8ba84ae2b4ba7d58a4c0f6d90ca093c9202ca5ab
Release coccinelle-0.1.7

** Language:
   - initialize and finalize script code, cf demos/initial_final.cocci

** Features:
   - -iso_limit option to limit the depth of isomorphism application
   - with the dir option, the include path is implicitly set to the "include"
     subdirectory of the specified directory, if the option -I is not used.
   - give a seed for the name of a fresh identifier
   - better handling of cpp "constructed" identifiers as in a##b, that in
     the futur will make it easier to match over those idents.
     cf tests/pb_parsing_macro.c. Thanks to Ali-Erdem Ozcan for pointing
     out the problem. A new "parsing hack hint" is also available:
     YACFE_IDENT_BUILDER, cf standard.h.

** Bugfix:
   - drop excessive "optimization" in ctl generation for while and for loops
   - allow . as the name of the directory
   - for type inference for an assignment, take the type of the right-hand
     side expression, not the type of the assigned variable
   - allow for with a declartion in the first header element, as in C++
     (partial support)
   - allow for matching against variable declarations that include only
     storage, eg static, but no type at all.
   - allow for matching against types that contain both short/long and int
   - allow the type metavariable in the SmPL code "unsigned T" to match a T
     that is a type consisting of more than one word, eg long int.
   - -ifdef_to_if option made to process nested ifdefs
     (partial support)

** Internals:
   - improve and fix installation process (usable on BSD)
   - improve and fix testing process
   - apply patches from Eugeniy Meshcheryakov
   - reorganize the way we parse C identifiers, especially concatenated cpp
     identifiers as in a##b. This may lead to some regressions as we may
     not parse as much code as before.
   - removed popl/ and popl09/ and popl related stuff from official distrib.
201 files changed:
.depend [deleted file]
Makefile
bugs.txt
changes.txt
cocci.ml
cocci.mli
commitmsg
commons/.depend [deleted file]
commons/Makefile
commons/authors.txt
commons/common.ml
commons/common.mli
commons/features.ml.cpp [new file with mode: 0644]
commons/ocollection/oassocb.ml
commons/oset.ml
commons/readme.txt [new file with mode: 0644]
commons/seti.ml
commons/sexp_common.ml [new file with mode: 0644]
configure
credits.txt
ctl/Makefile
demos/initial_final.cocci [new file with mode: 0644]
docs/Makefile [new file with mode: 0644]
docs/SmPL-ver2-tutorial-ols07.pdf [deleted file]
docs/SmPL-with-grammar-ercim-evos06.pdf [deleted file]
docs/grammar/cocci_syntax.pdf [new file with mode: 0644]
docs/grammar/cocci_syntax.tex
docs/grammar/grammar.tex
docs/options.pdf
docs/options.tex
docs/semantic-patches-for-collateral-evolutions.ppt [deleted file]
docs/semantic-patches-talk-ols07.odp [deleted file]
docs/semantic-patches-talk-ols07.ppt [deleted file]
engine/.depend [deleted file]
engine/Makefile
engine/asttoctl2.ml
engine/asttomember.ml
engine/c_vs_c.ml
engine/cocci_vs_c.ml
engine/ctlcocci_integration.ml
engine/pattern_c.ml
engine/postprocess_transinfo.ml
engine/transformation_c.ml
extra/.depend [deleted file]
extra/Makefile
extra/kbuild.ml
extra/maintainers.ml
flag_cocci.ml
globals/.depend [deleted file]
globals/Makefile
globals/config.ml.in [moved from globals/config.ml with 90% similarity]
install.txt
main.ml
menhirlib/.depend [deleted file]
menhirlib/Makefile
ocamlsexp/Makefile [new file with mode: 0644]
ocamlsexp/conv.ml [new file with mode: 0644]
ocamlsexp/conv.mli [new file with mode: 0644]
ocamlsexp/conv_error.ml [new file with mode: 0644]
ocamlsexp/copyright.txt [new file with mode: 0644]
ocamlsexp/lexer.mll [new file with mode: 0644]
ocamlsexp/license-tywith.txt [new file with mode: 0644]
ocamlsexp/license.txt [new file with mode: 0644]
ocamlsexp/modif-orig.txt [new file with mode: 0644]
ocamlsexp/parser.mly [new file with mode: 0644]
ocamlsexp/path.ml [new file with mode: 0644]
ocamlsexp/path.mli [new file with mode: 0644]
ocamlsexp/pre_sexp.ml [new file with mode: 0644]
ocamlsexp/sexp.ml [new file with mode: 0644]
ocamlsexp/sexp.mli [new file with mode: 0644]
ocamlsexp/sexp_intf.ml [new file with mode: 0644]
ocamlsexp/type.ml [new file with mode: 0644]
parsing_c/.depend [deleted file]
parsing_c/Makefile
parsing_c/ast_c.ml
parsing_c/ast_to_flow.ml
parsing_c/comment_annotater_c.ml
parsing_c/compare_c.ml
parsing_c/control_flow_c.ml
parsing_c/control_flow_c.mli
parsing_c/cpp_ast_c.ml
parsing_c/lexer_c.mll
parsing_c/lib_parsing_c.ml
parsing_c/parse_c.ml
parsing_c/parser_c.mly
parsing_c/parsing_hacks.ml
parsing_c/parsing_hacks.mli
parsing_c/pretty_print_c.ml
parsing_c/test_parsing_c.ml
parsing_c/token_helpers.ml
parsing_c/type_annoter_c.ml
parsing_c/type_annoter_c.mli
parsing_c/type_c.ml
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/.depend
parsing_cocci/Makefile
parsing_cocci/adjust_pragmas.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/comm_assoc.ml
parsing_cocci/context_neg.ml
parsing_cocci/data.ml
parsing_cocci/data.mli
parsing_cocci/disjdistr.ml
parsing_cocci/flag_parsing_cocci.ml
parsing_cocci/free_vars.ml
parsing_cocci/function_prototypes.ml
parsing_cocci/get_constants.ml
parsing_cocci/get_constants2.ml
parsing_cocci/insert_plus.ml
parsing_cocci/iso_compile.ml
parsing_cocci/iso_pattern.ml
parsing_cocci/iso_pattern.mli
parsing_cocci/lexer_cocci.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/simple_assignments.ml
parsing_cocci/single_statement.ml
parsing_cocci/test_exps.ml
parsing_cocci/type_infer.ml
parsing_cocci/unitary_ast0.ml
parsing_cocci/visitor_ast.ml
parsing_cocci/visitor_ast0.ml
parsing_cocci/visitor_ast0.mli
parsing_cocci/visitor_ast0_types.ml [new file with mode: 0644]
popl/Makefile [deleted file]
popl/ast_popl.ml [deleted file]
popl/asttopopl.ml [deleted file]
popl/asttopopl.mli [deleted file]
popl/insert_befaft.ml [deleted file]
popl/insert_befaft.mli [deleted file]
popl/insert_quantifiers.ml [deleted file]
popl/insert_quantifiers.mli [deleted file]
popl/popl.ml [deleted file]
popl/popl.mli [deleted file]
popl/popltoctl.ml [deleted file]
popl/popltoctl.mli [deleted file]
popl/pretty_print_popl.ml [deleted file]
popl/pretty_print_popl.mli [deleted file]
popl09/.depend [deleted file]
popl09/Makefile [deleted file]
popl09/ast_popl.ml [deleted file]
popl09/asttopopl.ml [deleted file]
popl09/asttopopl.mli [deleted file]
popl09/flag_popl.ml [deleted file]
popl09/insert_quantifiers.ml [deleted file]
popl09/insert_quantifiers.mli [deleted file]
popl09/popl.ml [deleted file]
popl09/popl.mli [deleted file]
popl09/popltoctl.ml [deleted file]
popl09/popltoctl.mli [deleted file]
popl09/pretty_print_popl.ml [deleted file]
popl09/pretty_print_popl.mli [deleted file]
pycaml/Makefile
python/.depend
python/Makefile
python/coccilib/Makefile
python/coccilib/output.py [deleted symlink]
python/coccilib/output_base.py
python/coccilib/output_gui.py [new file with mode: 0644]
python/no_pycocci_aux.ml
python/pycocci.ml [deleted symlink]
python/pycocci_aux.ml [deleted symlink]
python/yes_pycocci.ml
readme.txt
scripts/spatch.sh
standard.h
testing.ml
tests/SCORE_expected.sexp [new file with mode: 0644]
tests/a_and_e.c [moved from tests/A_and_E.c with 100% similarity]
tests/a_and_e.cocci [moved from tests/A_and_E.cocci with 100% similarity]
tests/a_and_e.res [moved from tests/A_and_E.res with 100% similarity]
tests/a_and_e_ver1.c [moved from tests/A_and_E_ver1.c with 100% similarity]
tests/a_and_e_ver1.res [moved from tests/A_and_E_ver1.res with 100% similarity]
tests/bugon.cocci
tests/bugon.res
tests/double_switch.c [new file with mode: 0644]
tests/double_switch.cocci [new file with mode: 0644]
tests/double_switch.res [new file with mode: 0644]
tests/longlongint.c [new file with mode: 0644]
tests/longlongint.cocci [new file with mode: 0644]
tests/longlongint.res [moved from tests/hex2.res with 55% similarity]
tests/not_converted.c [new file with mode: 0644]
tests/not_converted.cocci [new file with mode: 0644]
tests/not_converted_ver1.c [new file with mode: 0644]
tests/pb_parsing_macro.c [new file with mode: 0644]
tests/pb_parsing_macro.cocci [new file with mode: 0644]
tests/pb_parsing_macro.res [new file with mode: 0644]
tools/Makefile