First Coccinelle semantic patch.

* coccinelle: New subdirectory
* coccinelle/README: Documentation stub.
* coccinelle/vector_contents.cocci: Semantic patch to replace direct
access to `contents' member of Lisp_Vector objects with AREF and ASET
where appropriate.
This commit is contained in:
Dmitry Antipov 2012-06-24 20:18:41 +04:00
parent 772b2e2ce2
commit 3c9359dfe4
3 changed files with 28 additions and 0 deletions

View file

@ -1,3 +1,12 @@
2012-06-24 Dmitry Antipov <dmantipov@yandex.ru>
First Coccinelle semantic patch.
* coccinelle: New subdirectory
* coccinelle/README: Documentation stub.
* coccinelle/vector_contents.cocci: Semantic patch to replace direct
access to `contents' member of Lisp_Vector objects with AREF and ASET
where appropriate.
2012-06-22 Paul Eggert <eggert@cs.ucla.edu>
Support higher-resolution time stamps (Bug#9000).

3
admin/coccinelle/README Normal file
View file

@ -0,0 +1,3 @@
This directory contains semantic patches for Coccinelle, a program matching
and transformation tool for programs written in C. For more details, see
http://coccinelle.lip6.fr.

View file

@ -0,0 +1,16 @@
// Avoid direct access to `contents' member of
// Lisp_Vector, use AREF and ASET where possible.
@expression@
identifier I1, I2;
expression E1, E2;
@@
(
- XVECTOR (I1)->contents[I2++] = E1
+ ASET (I1, I2, E1), I2++
|
- XVECTOR (I1)->contents[E1] = E2
+ ASET (I1, E1, E2)
|
-XVECTOR (I1)->contents[E1]
+AREF (I1, E1)
)