027eac5e84
(accept any of python-2.x). * 0.2.5 ** 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 - removed use of the no longer supported sexplib function Conv.hashtbl_of_sexp - add information about which Fedora packages are needed ** 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. - Introduction of newlines in function arguments needs to take into account that the code added by SmPL can include newlines. Thanks to Thomas Gleixner for finding the problem. * 0.2.4 ** Language: - scripts now have names and can declare metavariables that are seen by SmPL as identifier metavariables, see demos/{python,ocaml}tococci.cocci - declaration (match variable declarations) and field (match structure field declarations) metavariables - matching of array initializations and of enum declarations ** Features: - compatability with Python 2.7. Thanks to Richard W.M. Jones for pointing out the problem - python and ocaml string representations of parameter lists and expression lists - try simpler patterns on glimpse failure - graceful and immediate failure when a virtual rule is defined on the command line, but not in the rule - spatch returns -1 when a virtual rule is requested that is not supported - no transformation when using * with the option -no_show_diff - expanded +++ file name for match output - struct *^* and enum *^* metavariable types - allow an assignment to match a variable initialization, even if multiple variables are declared at the same time. - add the option -recursive_includes - added the option -use_idutils. The requires the previous use of the script idutils_index.sh ** Bugfix: - detect used after metavariables in simple statement metavariable match - allow inheriting position variables over rules that make transformations but depend on virtual rules that are not defined on the command line - treat top-level tokens in decl visitor. Thanks to Peter Tummeltshammer for noticing a resulting problem. - improve typing of the result of an assignment expression - eliminate some recursive calls in C code parsing to avoid stack overflows - better pretty printing of #define when the whole line is removed - better pretty printing of asm code containing "::[input]"r"(&coherence_data[i])" - allow pretty printing of C code with nameless bit fields - avoid adding an error message to standard output if ocamlfind is not found - struct/union/enum-typed metavariables with a metavariable type name - better management of whitespace between deleted lines. Thanks to Andriy Gapon for noticing the problem. - improved parsing recovery for badly parsed struct/enum typedefs - drop expanded tokens in sgrep output. Thanks to Andriy Gapon for noticing the problem. - constant strings have array type, not pointer type. Thanks to Vasiliy Kulikov for noticing the problem. - improve indentation when adding code after a function call with indented arguments. - return type of sizeof converted to unsigned long. Thanks to Vasiliy Kulikov for noticing the problem. - improve spacing when adding structure initializers. Thanks to Vasiliy Kulikov for noticing the problem.
73 lines
3 KiB
Text
73 lines
3 KiB
Text
@comment $NetBSD: PLIST,v 1.6 2011/10/14 09:06:35 obache Exp $
|
|
bin/spatch
|
|
bin/spatch.opt
|
|
lib/dllpycaml_stubs.so
|
|
man/man1/spatch.1
|
|
share/coccinelle/commons/common.cmi
|
|
share/coccinelle/commons/common_extra.cmi
|
|
share/coccinelle/commons/glimpse.cmi
|
|
share/coccinelle/commons/interfaces.cmi
|
|
share/coccinelle/commons/oarray.cmi
|
|
share/coccinelle/commons/oassoc.cmi
|
|
share/coccinelle/commons/objet.cmi
|
|
share/coccinelle/commons/ocollection.cmi
|
|
share/coccinelle/commons/ofullcommon.cmi
|
|
share/coccinelle/commons/ograph.cmi
|
|
share/coccinelle/commons/ograph_extended.cmi
|
|
share/coccinelle/commons/ograph_simple.cmi
|
|
share/coccinelle/commons/osequence.cmi
|
|
share/coccinelle/commons/oset.cmi
|
|
share/coccinelle/commons/parser_combinators.cmi
|
|
share/coccinelle/commons/seti.cmi
|
|
share/coccinelle/commons/sexp_common.cmi
|
|
share/coccinelle/globals/iteration.cmi
|
|
share/coccinelle/ocaml/coccilib.cmi
|
|
share/coccinelle/parsing_c/ast_c.cmi
|
|
share/coccinelle/parsing_c/comment_annotater_c.cmi
|
|
share/coccinelle/parsing_c/compare_c.cmi
|
|
share/coccinelle/parsing_c/control_flow_c.cmi
|
|
share/coccinelle/parsing_c/control_flow_c_build.cmi
|
|
share/coccinelle/parsing_c/cpp_analysis_c.cmi
|
|
share/coccinelle/parsing_c/cpp_ast_c.cmi
|
|
share/coccinelle/parsing_c/cpp_token_c.cmi
|
|
share/coccinelle/parsing_c/flag_parsing_c.cmi
|
|
share/coccinelle/parsing_c/lexer_c.cmi
|
|
share/coccinelle/parsing_c/lexer_parser.cmi
|
|
share/coccinelle/parsing_c/lib_parsing_c.cmi
|
|
share/coccinelle/parsing_c/parse_c.cmi
|
|
share/coccinelle/parsing_c/parser_c.cmi
|
|
share/coccinelle/parsing_c/parsing_consistency_c.cmi
|
|
share/coccinelle/parsing_c/parsing_hacks.cmi
|
|
share/coccinelle/parsing_c/parsing_recovery_c.cmi
|
|
share/coccinelle/parsing_c/parsing_stat.cmi
|
|
share/coccinelle/parsing_c/pretty_print_c.cmi
|
|
share/coccinelle/parsing_c/semantic_c.cmi
|
|
share/coccinelle/parsing_c/test_parsing_c.cmi
|
|
share/coccinelle/parsing_c/token_c.cmi
|
|
share/coccinelle/parsing_c/token_helpers.cmi
|
|
share/coccinelle/parsing_c/token_views_c.cmi
|
|
share/coccinelle/parsing_c/type_annoter_c.cmi
|
|
share/coccinelle/parsing_c/type_c.cmi
|
|
share/coccinelle/parsing_c/unparse_c.cmi
|
|
share/coccinelle/parsing_c/unparse_cocci.cmi
|
|
share/coccinelle/parsing_c/unparse_hrule.cmi
|
|
share/coccinelle/parsing_c/visitor_c.cmi
|
|
share/coccinelle/python/coccilib/__init__.py
|
|
share/coccinelle/python/coccilib/coccigui/__init__.py
|
|
share/coccinelle/python/coccilib/coccigui/coccigui.py
|
|
share/coccinelle/python/coccilib/coccigui/pycoccimodel.py
|
|
share/coccinelle/python/coccilib/coccigui/pygui.glade
|
|
share/coccinelle/python/coccilib/coccigui/pygui.gladep
|
|
share/coccinelle/python/coccilib/coccigui/vim.py
|
|
share/coccinelle/python/coccilib/coccigui/vimcom.py
|
|
share/coccinelle/python/coccilib/coccigui/vimeditor.py
|
|
share/coccinelle/python/coccilib/coccigui/vimembed.py
|
|
share/coccinelle/python/coccilib/elems.py
|
|
share/coccinelle/python/coccilib/org.py
|
|
share/coccinelle/python/coccilib/output.py
|
|
share/coccinelle/python/coccilib/report.py
|
|
share/coccinelle/python/coccilib/trac.py
|
|
share/coccinelle/spatch
|
|
share/coccinelle/spatch.opt
|
|
share/coccinelle/standard.h
|
|
share/coccinelle/standard.iso
|