Skip to content

Commit 2fb377e

Browse files
committed
Merge branch 'rs/cocci-array-copy'
A coccinelle rule (in contrib/) to encourage use of COPY_ARRAY macro has been improved. * rs/cocci-array-copy: cocci: avoid normalization rules for memcpy
2 parents 40ab711 + f53156f commit 2fb377e

File tree

1 file changed

+40
-42
lines changed

1 file changed

+40
-42
lines changed

contrib/coccinelle/array.cocci

Lines changed: 40 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,58 @@
11
@@
2-
expression dst, src, n, E;
2+
type T;
3+
T *dst_ptr;
4+
T *src_ptr;
5+
expression n;
36
@@
4-
memcpy(dst, src, n * sizeof(
5-
- E[...]
6-
+ *(E)
7-
))
7+
- memcpy(dst_ptr, src_ptr, (n) * \( sizeof(T)
8+
- \| sizeof(*(dst_ptr))
9+
- \| sizeof(*(src_ptr))
10+
- \| sizeof(dst_ptr[...])
11+
- \| sizeof(src_ptr[...])
12+
- \) )
13+
+ COPY_ARRAY(dst_ptr, src_ptr, n)
814

915
@@
1016
type T;
11-
T *ptr;
12-
T[] arr;
13-
expression E, n;
17+
T *dst_ptr;
18+
T[] src_arr;
19+
expression n;
1420
@@
15-
(
16-
memcpy(ptr, E,
17-
- n * sizeof(*(ptr))
18-
+ n * sizeof(T)
19-
)
20-
|
21-
memcpy(arr, E,
22-
- n * sizeof(*(arr))
23-
+ n * sizeof(T)
24-
)
25-
|
26-
memcpy(E, ptr,
27-
- n * sizeof(*(ptr))
28-
+ n * sizeof(T)
29-
)
30-
|
31-
memcpy(E, arr,
32-
- n * sizeof(*(arr))
33-
+ n * sizeof(T)
34-
)
35-
)
21+
- memcpy(dst_ptr, src_arr, (n) * \( sizeof(T)
22+
- \| sizeof(*(dst_ptr))
23+
- \| sizeof(*(src_arr))
24+
- \| sizeof(dst_ptr[...])
25+
- \| sizeof(src_arr[...])
26+
- \) )
27+
+ COPY_ARRAY(dst_ptr, src_arr, n)
3628

3729
@@
3830
type T;
39-
T *dst_ptr;
31+
T[] dst_arr;
4032
T *src_ptr;
33+
expression n;
34+
@@
35+
- memcpy(dst_arr, src_ptr, (n) * \( sizeof(T)
36+
- \| sizeof(*(dst_arr))
37+
- \| sizeof(*(src_ptr))
38+
- \| sizeof(dst_arr[...])
39+
- \| sizeof(src_ptr[...])
40+
- \) )
41+
+ COPY_ARRAY(dst_arr, src_ptr, n)
42+
43+
@@
44+
type T;
4145
T[] dst_arr;
4246
T[] src_arr;
4347
expression n;
4448
@@
45-
(
46-
- memcpy(dst_ptr, src_ptr, (n) * sizeof(T))
47-
+ COPY_ARRAY(dst_ptr, src_ptr, n)
48-
|
49-
- memcpy(dst_ptr, src_arr, (n) * sizeof(T))
50-
+ COPY_ARRAY(dst_ptr, src_arr, n)
51-
|
52-
- memcpy(dst_arr, src_ptr, (n) * sizeof(T))
53-
+ COPY_ARRAY(dst_arr, src_ptr, n)
54-
|
55-
- memcpy(dst_arr, src_arr, (n) * sizeof(T))
49+
- memcpy(dst_arr, src_arr, (n) * \( sizeof(T)
50+
- \| sizeof(*(dst_arr))
51+
- \| sizeof(*(src_arr))
52+
- \| sizeof(dst_arr[...])
53+
- \| sizeof(src_arr[...])
54+
- \) )
5655
+ COPY_ARRAY(dst_arr, src_arr, n)
57-
)
5856

5957
@@
6058
type T;

0 commit comments

Comments
 (0)