Commit | Line | Data |
---|---|---|
708f4980 | 1 | Release coccinelle-0.1.8 |
b1b2de81 C |
2 | |
3 | ** Features: | |
708f4980 C |
4 | - Metavariables now capture the cpp code contained within their definitions |
5 | - When - fragments are separated by ... or nest boundaries in the semantic | |
6 | patch, but end up matching adjacent source code, the comments, cpp code | |
7 | and whitespace that are between them are not deleted. | |
8 | - better parsing of C: do expansion of macros only when needed when | |
9 | have actually a parse error and also leverage the definition of macros | |
10 | in the parsed file (or in a optional_standard.h file passed as a parameter). | |
11 | This should reduce the need for many hardcoded definitions in standard.h | |
12 | - new semantics for the -macro_file option, by default now expand macros | |
13 | only when necessary. To force use the -macro_file_builtins option instead. | |
14 | - a new -extract_macros command line action to help the parser. Works with | |
15 | the -macro_file option. e.g. | |
16 | $ ./spatch -extract_macros ~/linux > /tmp/alldefs.h | |
17 | $ ./spatch -macro_file /tmp/alldefs.h -sp_file foo.cocci -dir ~/linux | |
18 | - removed -D macro_file option, not consistent with what -D usually means | |
19 | - reattempt to be more efficient for statement metavariables that are just | |
20 | placeholders (ie, no modification, no reuse) | |
21 | - triples now returned from ctl in sorted order. The main key is the | |
22 | state. On the other hand, the state order does not always agree with the | |
23 | order of appearance in the code. | |
24 | - spatch is now less verbose on the things it does yet handle. Less confusing | |
25 | for new users. | |
26 | - slightly better error report. Thanks to Derek Jones for the suggestion. | |
27 | - added the options -linux_spacing and -smpl_spacing. -linux_spacing | |
28 | causes spatch to follow the spacing conventions of Linux, while | |
29 | -smpl_spacing causes spatch to follow the spacing in the semantic patch. | |
30 | -linux_spacing is the default. | |
31 | - more informative error reporting for the already tagged token case. | |
32 | Thanks to Erik Hovland for the suggestion. | |
33 | ||
b1b2de81 | 34 | ** Bugfix: |
708f4980 C |
35 | - better parsing of declare macro at toplevel and in structure. |
36 | cf -text xfield | |
37 | - allowing back typedef names for fieldname | |
38 | - better printing of else in generated code | |
39 | - slightly better type inference for binary operators. | |
40 | - clear out declarer names and iterator names between SmPL files (for | |
41 | -testall) | |
42 | - better parsing and type checking of macro type aliases. Cf -test macro_int16. | |
43 | Thanks to Li Yingtong for pointing out the problem. | |
44 | - make insert_virtual_positions tail rec, avoid stack overflow pb. | |
45 | Thanks to Diego Liziero <diegoliz@gmail.com> for pointing out the | |
46 | problem. | |
47 | - Better type inference for arithmetic binary operators | |
48 | Thanks to Li Yingtong for pointing out the problem. | |
49 | - Better type inference for constants | |
50 | Thanks to Li Yingtong for pointing out the problem. | |
51 | - move computing of adjacency information for semantic patches to after | |
52 | application of isomorphisms, because isomorphisms can introduce "..." | |
53 | - compute adjacency information for negated ... | |
54 | - record with each transformation site the set of indices of the witness | |
55 | trees that caused the transformation site to come about. Whitespace and | |
56 | comments between remove tokens associated with disjoint witness trees is | |
57 | not removed. | |
58 | - correct treatment of function pointer typed parameters in the SmPL ast0 | |
59 | visitor. | |
60 | - better parsing error message and error recovery when comments are not ended, | |
61 | when some macros have a weird body, and when some switch have a weird | |
62 | Body. | |
63 | Thanks to Derek Jones for pointing out the problem. | |
64 | - better detection and passing of "dangerous" ifdefs, cf -test | |
65 | double_switch. | |
66 | - dropped the separation of decls and body in Seq. This gives better | |
67 | positioning of the bindings of metavariables shared between them. | |
68 | Thanks to Erik Hovland for an example that shows the problem. | |
b1b2de81 C |
69 | |
70 | ** Internals: | |
708f4980 C |
71 | - supress warning in compiling ocamlsexp (warning caused by a new behavior |
72 | of cpp used internally in processing files in ocamlsexp/) |