Skip to content

Commit d79b461

Browse files
committed
coccinelle: check reserved symbols based on a file
Signed-off-by: Anas Nashif <[email protected]>
1 parent b5e001f commit d79b461

File tree

2 files changed

+305
-6
lines changed

2 files changed

+305
-6
lines changed

scripts/coccinelle/reserved_names.cocci

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,10 @@ p << common_case.p;
4545
@@
4646
4747
msg = "WARNING: Violation to rule 21.2 (Should not used a reserved identifier) - {}".format(v)
48-
if v in ["remove", "rewind", "malloc", "free", "exp", "signal"]:
49-
coccilib.report.print_report(p[0], msg)
48+
with open("scripts/coccinelle/symbols.txt", "r") as fp:
49+
symbols = fp.read().splitlines()
50+
if v in symbols:
51+
coccilib.report.print_report(p[0], msg)
5052
5153
@function_match@
5254
type T;
@@ -62,8 +64,10 @@ v << function_match.f;
6264
@@
6365
6466
msg = "WARNING: Violation to rule 21.2 (Should not used a reserved identifier) - {}".format(v)
65-
if v in ["remove", "rewind", "malloc", "free", "exp", "signal"]:
66-
coccilib.report.print_report(p[0], msg)
67+
with open("scripts/coccinelle/symbols.txt", "r") as fp:
68+
symbols = fp.read().splitlines()
69+
if v in symbols:
70+
coccilib.report.print_report(p[0], msg)
6771
6872
@function_parameter@
6973
type T1, T2;
@@ -82,5 +86,7 @@ p << function_parameter.p;
8286
@@
8387
8488
msg = "WARNING: Violation to rule 21.2 (Should not used a reserved identifier) - {}".format(v)
85-
if v in ["remove", "rewind", "malloc", "free", "exp", "signal"]:
86-
coccilib.report.print_report(p[0], msg)
89+
with open("scripts/coccinelle/symbols.txt", "r") as fp:
90+
symbols = fp.read().splitlines()
91+
if v in symbols:
92+
coccilib.report.print_report(p[0], msg)

scripts/coccinelle/symbols.txt

Lines changed: 293 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,293 @@
1+
abort
2+
abs
3+
acos
4+
asctime
5+
asctime_r
6+
asin
7+
assert
8+
atan
9+
atan2
10+
atexit
11+
atof
12+
atoi
13+
atol
14+
bsearch
15+
btowc
16+
calloc
17+
catclose6
18+
catgets6
19+
catopen6
20+
ceil
21+
clearerr
22+
clock
23+
cos
24+
cosh
25+
ctime
26+
ctime64
27+
ctime_r
28+
ctime64_r
29+
difftime
30+
difftime64
31+
div
32+
erf
33+
erfc
34+
exit
35+
exp
36+
fabs
37+
fclose
38+
fdopen5
39+
feof
40+
ferror
41+
fflush1
42+
fgetc1
43+
fgetpos1
44+
fgets1
45+
fgetwc6
46+
fgetws6
47+
fileno5
48+
floor
49+
fmod
50+
fopen
51+
fprintf
52+
fputc1
53+
fputs1
54+
fputwc6
55+
fputws6
56+
fread
57+
free
58+
freopen
59+
frexp
60+
fscanf
61+
fseek1
62+
fsetpos1
63+
ftell1
64+
fwide6
65+
fwprintf6
66+
fwrite
67+
fwscanf6
68+
gamma
69+
getc1
70+
getchar1
71+
getenv
72+
gets
73+
getwc6
74+
getwchar6
75+
gmtime
76+
gmtime64
77+
gmtime_r
78+
gmtime64_r
79+
hypot
80+
isalnum
81+
isalpha
82+
isascii4
83+
isblank
84+
iscntrl
85+
isdigit
86+
isgraph
87+
islower
88+
isprint
89+
ispunct
90+
isspace
91+
isupper
92+
iswalnum4
93+
iswalpha4
94+
iswblank4
95+
iswcntrl4
96+
iswctype4
97+
iswdigit4
98+
iswgraph4
99+
iswlower4
100+
iswprint4
101+
iswpunct4
102+
iswspace4
103+
iswupper4
104+
iswxdigit4
105+
isxdigit4
106+
j0
107+
j1
108+
jn
109+
labs
110+
ldexp
111+
ldiv
112+
localeconv
113+
localtime
114+
localtime64
115+
localtime_r
116+
localtime64_r
117+
log
118+
log10
119+
longjmp
120+
malloc
121+
mblen
122+
mbrlen4
123+
mbrtowc4
124+
mbsinit4
125+
mbsrtowcs4
126+
mbstowcs
127+
mbtowc
128+
memchr
129+
memcmp
130+
memcpy
131+
memmove
132+
memset
133+
mktime
134+
mktime64
135+
modf
136+
nextafter
137+
nextafterl
138+
nexttoward
139+
nexttowardl
140+
nl_langinfo4
141+
perror
142+
pow
143+
printf
144+
putc1
145+
putchar1
146+
putenv
147+
puts
148+
putwc6
149+
putwchar6
150+
qsort
151+
quantexpd32
152+
quantexpd64
153+
quantexpd128
154+
quantized32
155+
quantized64
156+
quantized128
157+
samequantumd32
158+
samequantumd64
159+
samequantumd128
160+
raise
161+
rand
162+
rand_r
163+
realloc
164+
regcomp
165+
regerror
166+
regexec
167+
regfree
168+
remove
169+
rename
170+
rewind1
171+
scanf
172+
setbuf
173+
setjmp
174+
setlocale
175+
setvbuf
176+
signal
177+
sin
178+
sinh
179+
snprintf
180+
sprintf
181+
sqrt
182+
srand
183+
sscanf
184+
strcasecmp
185+
strcat
186+
strchr
187+
strcmp
188+
strcoll
189+
strcpy
190+
strcspn
191+
strerror
192+
strfmon4
193+
strftime
194+
strlen
195+
strncasecmp
196+
strncat
197+
strncmp
198+
strncpy
199+
strpbrk
200+
strptime4
201+
strrchr
202+
strspn
203+
strstr
204+
strtod
205+
strtod32
206+
strtod64
207+
strtod128
208+
strtof
209+
strtok
210+
strtok_r
211+
strtol
212+
strtold
213+
strtoul
214+
strxfrm
215+
swprintf
216+
swscanf
217+
system
218+
tan
219+
tanh
220+
time
221+
time64
222+
tmpfile
223+
tmpnam
224+
toascii
225+
tolower
226+
toupper
227+
towctrans
228+
towlower4
229+
towupper4
230+
ungetc1
231+
ungetwc6
232+
va_arg
233+
va_copy
234+
va_end
235+
va_start
236+
vfprintf
237+
vfscanf
238+
vfwprintf6
239+
vfwscanf
240+
vprintf
241+
vscanf
242+
vsprintf
243+
vsnprintf
244+
vsscanf
245+
vswprintf
246+
vswscanf
247+
vwprintf6
248+
vwscanf
249+
wcrtomb4
250+
wcscat
251+
wcschr
252+
wcscmp
253+
wcscoll4
254+
wcscpy
255+
wcscspn
256+
wcsftime
257+
wcslen
258+
wcslocaleconv
259+
wcsncat
260+
wcsncmp
261+
wcsncpy
262+
wcspbrk
263+
wcsptime
264+
wcsrchr
265+
wcsrtombs4
266+
wcsspn
267+
wcsstr
268+
wcstod
269+
wcstod32
270+
wcstod64
271+
wcstod128
272+
wcstof
273+
wcstok
274+
wcstol
275+
wcstold
276+
wcstombs
277+
wcstoul
278+
wcsxfrm4
279+
wctob
280+
wctomb
281+
wctrans
282+
wctype4
283+
wcwidth
284+
wmemchr
285+
wmemcmp
286+
wmemcpy
287+
wmemmove
288+
wmemset
289+
wprintf6
290+
wscanf6
291+
y0
292+
y1
293+
yn

0 commit comments

Comments
 (0)