[PATCH 1/4] utils: checkstyle.py: Refactor IncludeChecker
Paul Elder
paul.elder at ideasonboard.com
Fri May 31 15:17:41 CEST 2024
On Fri, May 31, 2024 at 03:18:35PM +0300, Laurent Pinchart wrote:
> 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 at ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder at ideasonboard.com>
> ---
> utils/checkstyle.py | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/utils/checkstyle.py b/utils/checkstyle.py
> index 4e287b2e0053..518be0897db5 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
More information about the libcamera-devel
mailing list