summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2024-05-31 14:24:24 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2024-05-31 20:04:53 +0300
commitb8b24c5b5e02fc6b195ab0acab43f63ddeac8fbc (patch)
tree55c41c5263a028eef7463dc323ef94c90eb067a0
parent9b29eba7a202de1a1a1cc5e6f888cf4983f38230 (diff)
utils: checkstyle.py: Refactor IncludeChecker
The IncludeCheck warns when code uses C++ standard library headers where corresponding C compatibility headers are preferred. We have an exception to that rule for math.h, where cmath is prefered. In order to prepare for extending checkstyle.py to enforce that rule, refactor the way the IncludeChecker identifies headers. No functional change is intended. 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>
-rwxr-xr-xutils/checkstyle.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/utils/checkstyle.py b/utils/checkstyle.py
index 4e287b2e..518be089 100755
--- a/utils/checkstyle.py
+++ b/utils/checkstyle.py
@@ -565,11 +565,11 @@ class StyleIssue(object):
class IncludeChecker(StyleChecker):
patterns = ('*.cpp', '*.h')
- headers = ('assert', 'ctype', 'errno', 'fenv', 'float', 'inttypes',
- 'limits', 'locale', 'setjmp', 'signal', 'stdarg', 'stddef',
- 'stdint', 'stdio', 'stdlib', 'string', 'time', 'uchar', 'wchar',
- 'wctype')
- include_regex = re.compile(r'^#include <c([a-z]*)>')
+ headers = ('cassert', 'cctype', 'cerrno', 'cfenv', 'cfloat', 'cinttypes',
+ 'climits', 'clocale', 'csetjmp', 'csignal', 'cstdarg', 'cstddef',
+ 'cstdint', 'cstdio', 'cstdlib', 'cstring', 'ctime', 'cuchar',
+ 'cwchar', 'cwctype')
+ include_regex = re.compile(r'^#include <([a-z.]*)>')
def __init__(self, content):
super().__init__()
@@ -588,8 +588,9 @@ class IncludeChecker(StyleChecker):
if header not in IncludeChecker.headers:
continue
+ header = header[1:] + '.h'
issues.append(StyleIssue(line_number, line,
- 'C compatibility header <%s.h> is preferred' % header))
+ 'C compatibility header <%s> is preferred' % header))
return issues