utils: checkstyle.py: Extend IncludeChecker to cover math.h
math.h is an exception to the C compatibility header rule, as we prefer using cmath. Extend the IncludeCheck to warn about it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
b8b24c5b5e
commit
5d2c8fa11b
1 changed files with 9 additions and 3 deletions
|
@ -568,7 +568,7 @@ class IncludeChecker(StyleChecker):
|
||||||
headers = ('cassert', 'cctype', 'cerrno', 'cfenv', 'cfloat', 'cinttypes',
|
headers = ('cassert', 'cctype', 'cerrno', 'cfenv', 'cfloat', 'cinttypes',
|
||||||
'climits', 'clocale', 'csetjmp', 'csignal', 'cstdarg', 'cstddef',
|
'climits', 'clocale', 'csetjmp', 'csignal', 'cstdarg', 'cstddef',
|
||||||
'cstdint', 'cstdio', 'cstdlib', 'cstring', 'ctime', 'cuchar',
|
'cstdint', 'cstdio', 'cstdlib', 'cstring', 'ctime', 'cuchar',
|
||||||
'cwchar', 'cwctype')
|
'cwchar', 'cwctype', 'math.h')
|
||||||
include_regex = re.compile(r'^#include <([a-z.]*)>')
|
include_regex = re.compile(r'^#include <([a-z.]*)>')
|
||||||
|
|
||||||
def __init__(self, content):
|
def __init__(self, content):
|
||||||
|
@ -588,9 +588,15 @@ class IncludeChecker(StyleChecker):
|
||||||
if header not in IncludeChecker.headers:
|
if header not in IncludeChecker.headers:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
header = header[1:] + '.h'
|
if header.endswith('.h'):
|
||||||
|
header_type = 'C++'
|
||||||
|
header = 'c' + header[:-2]
|
||||||
|
else:
|
||||||
|
header_type = 'C compatibility'
|
||||||
|
header = header[1:] + '.h'
|
||||||
|
|
||||||
issues.append(StyleIssue(line_number, line,
|
issues.append(StyleIssue(line_number, line,
|
||||||
'C compatibility header <%s> is preferred' % header))
|
f'{header_type} header <{header}> is preferred'))
|
||||||
|
|
||||||
return issues
|
return issues
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue