[PATCH 2/4] utils: checkstyle.py: Extend IncludeChecker to cover math.h
Milan Zamazal
mzamazal at redhat.com
Fri May 31 15:43:00 CEST 2024
Kieran Bingham <kieran.bingham at ideasonboard.com> writes:
> Quoting Laurent Pinchart (2024-05-31 13:18:36)
>> math.h is an exception to the C compatibility header rule, as we prefer
>> using cmath. Extend the IncludeCheck to warn about it.
>>
>
> Have we documented /why/ we prefer that anywhere?
Yes, in Documentation/coding-style.rst.
>> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
>
>
> Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
Tested-by: Milan Zamazal <mzamazal at redhat.com>
>> ---
>> utils/checkstyle.py | 12 +++++++++---
>> 1 file changed, 9 insertions(+), 3 deletions(-)
>>
>> diff --git a/utils/checkstyle.py b/utils/checkstyle.py
>> index 518be0897db5..f3604299de94 100755
>> --- a/utils/checkstyle.py
>> +++ b/utils/checkstyle.py
>> @@ -568,7 +568,7 @@ class IncludeChecker(StyleChecker):
>> headers = ('cassert', 'cctype', 'cerrno', 'cfenv', 'cfloat', 'cinttypes',
>> 'climits', 'clocale', 'csetjmp', 'csignal', 'cstdarg', 'cstddef',
>> 'cstdint', 'cstdio', 'cstdlib', 'cstring', 'ctime', 'cuchar',
>> - 'cwchar', 'cwctype')
>> + 'cwchar', 'cwctype', 'math.h')
>> include_regex = re.compile(r'^#include <([a-z.]*)>')
>>
>> def __init__(self, content):
>> @@ -588,9 +588,15 @@ class IncludeChecker(StyleChecker):
>> if header not in IncludeChecker.headers:
>> 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,
>> - 'C compatibility header <%s> is preferred' % header))
>> + f'{header_type} header <{header}> is preferred'))
>>
>> return issues
>>
>> --
>> Regards,
>>
>> Laurent Pinchart
>>
More information about the libcamera-devel
mailing list