From patchwork Fri May 31 12:18:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 20166 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 6B955BDE6B for ; Fri, 31 May 2024 12:18:58 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 0C509634BC; Fri, 31 May 2024 14:18:57 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="LxKVPtFY"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id BE99861A46 for ; Fri, 31 May 2024 14:18:53 +0200 (CEST) Received: from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi [81.175.209.231]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id BF5A111A3 for ; Fri, 31 May 2024 14:18:48 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1717157929; bh=NLtLXJjZSN7auouiRWIkJcgqCnCtwD6FHbaPlDwokgs=; h=From:To:Subject:Date:In-Reply-To:References:From; b=LxKVPtFYsJ0ID2t6qF9619NxckqrvmYljuYL5LDmspVlMhR8ZJrSaM8mb+NyGSc+D YAdfIYkvT4uNkDdbcz05nb8T2ebJ34UeFiRMGubwJMxmS0WqYG8v5poZMED7egK6sH MYvsY4bdogLMFafvw/9sGkJ6y8Tjwl37/T4CnqL0= From: Laurent Pinchart To: libcamera-devel@lists.libcamera.org Subject: [PATCH 1/4] utils: checkstyle.py: Refactor IncludeChecker Date: Fri, 31 May 2024 15:18:35 +0300 Message-ID: <20240531121838.27643-2-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.44.1 In-Reply-To: <20240531121838.27643-1-laurent.pinchart@ideasonboard.com> References: <20240531121838.27643-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" 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 Reviewed-by: Paul Elder Reviewed-by: Kieran Bingham --- 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 ') + 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