X-Git-Url: https://git.hcoop.net/bpt/coccinelle.git/blobdiff_plain/34e491640531bd81a0e2238fd599e1aafe53613e..708f4980a90e2a254d7863f875888e9f5c6db0b3:/commitmsg diff --git a/commitmsg b/commitmsg dissimilarity index 99% index f4b65dd..f05683a 100644 --- a/commitmsg +++ b/commitmsg @@ -1,6 +1,72 @@ -Release coccinelle-0.1 - - * First public release of the source code: - * Features - - embeded python scripting - - position +Release coccinelle-0.1.8 + +** Features: + - Metavariables now capture the cpp code contained within their definitions + - When - fragments are separated by ... or nest boundaries in the semantic + patch, but end up matching adjacent source code, the comments, cpp code + and whitespace that are between them are not deleted. + - better parsing of C: do expansion of macros only when needed when + have actually a parse error and also leverage the definition of macros + in the parsed file (or in a optional_standard.h file passed as a parameter). + This should reduce the need for many hardcoded definitions in standard.h + - new semantics for the -macro_file option, by default now expand macros + only when necessary. To force use the -macro_file_builtins option instead. + - a new -extract_macros command line action to help the parser. Works with + the -macro_file option. e.g. + $ ./spatch -extract_macros ~/linux > /tmp/alldefs.h + $ ./spatch -macro_file /tmp/alldefs.h -sp_file foo.cocci -dir ~/linux + - removed -D macro_file option, not consistent with what -D usually means + - reattempt to be more efficient for statement metavariables that are just + placeholders (ie, no modification, no reuse) + - triples now returned from ctl in sorted order. The main key is the + state. On the other hand, the state order does not always agree with the + order of appearance in the code. + - spatch is now less verbose on the things it does yet handle. Less confusing + for new users. + - slightly better error report. Thanks to Derek Jones for the suggestion. + - added the options -linux_spacing and -smpl_spacing. -linux_spacing + causes spatch to follow the spacing conventions of Linux, while + -smpl_spacing causes spatch to follow the spacing in the semantic patch. + -linux_spacing is the default. + - more informative error reporting for the already tagged token case. + Thanks to Erik Hovland for the suggestion. + +** Bugfix: + - better parsing of declare macro at toplevel and in structure. + cf -text xfield + - allowing back typedef names for fieldname + - better printing of else in generated code + - slightly better type inference for binary operators. + - clear out declarer names and iterator names between SmPL files (for + -testall) + - better parsing and type checking of macro type aliases. Cf -test macro_int16. + Thanks to Li Yingtong for pointing out the problem. + - make insert_virtual_positions tail rec, avoid stack overflow pb. + Thanks to Diego Liziero for pointing out the + problem. + - Better type inference for arithmetic binary operators + Thanks to Li Yingtong for pointing out the problem. + - Better type inference for constants + Thanks to Li Yingtong for pointing out the problem. + - move computing of adjacency information for semantic patches to after + application of isomorphisms, because isomorphisms can introduce "..." + - compute adjacency information for negated ... + - record with each transformation site the set of indices of the witness + trees that caused the transformation site to come about. Whitespace and + comments between remove tokens associated with disjoint witness trees is + not removed. + - correct treatment of function pointer typed parameters in the SmPL ast0 + visitor. + - better parsing error message and error recovery when comments are not ended, + when some macros have a weird body, and when some switch have a weird + Body. + Thanks to Derek Jones for pointing out the problem. + - better detection and passing of "dangerous" ifdefs, cf -test + double_switch. + - dropped the separation of decls and body in Seq. This gives better + positioning of the bindings of metavariables shared between them. + Thanks to Erik Hovland for an example that shows the problem. + +** Internals: + - supress warning in compiling ocamlsexp (warning caused by a new behavior + of cpp used internally in processing files in ocamlsexp/)