[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220901145948.1456353-1-mic@digikod.net>
Date: Thu, 1 Sep 2022 16:59:48 +0200
From: Mickaël Salaün <mic@...ikod.net>
To: Andy Whitcroft <apw@...onical.com>, Joe Perches <joe@...ches.com>
Cc: Mickaël Salaün <mic@...ikod.net>,
Dwaipayan Ray <dwaipayanray1@...il.com>,
Lukas Bulwahn <lukas.bulwahn@...il.com>,
Shuah Khan <shuah@...nel.org>, linux-kernel@...r.kernel.org,
linux-kselftest@...r.kernel.org
Subject: [RFC PATCH v1] checkpatch: Handle FILE pointer type
When using a "FILE *" type, checkpatch considers this an error. Fix
this by explicitly defining "FILE" as a common type.
This is useful for user space patches.
With this patch, we now get:
static void a(FILE *const b)
<E> <E> <_>WS( )
<E> <E> <_>IDENT(static)
<E> <V> <_>WS( )
<E> <V> <_>DECLARE(void )
<E> <T> <_>FUNC(a)
<E> <V> <V>PAREN('(')
<EV> <N> <_>DECLARE(FILE *const )
<EV> <T> <_>IDENT(b)
<EV> <V> <_>PAREN(')') -> V
<E> <V> <_>WS(
)
32 > . static void a(FILE *const b)
32 > EEVVVVVVVTTTTTVNTTTTTTTTTTTTVVV
32 > ______________________________
Another error may be throw when we use FIXTURE_{DATA,VARIANT}() structs,
as defined in kselftest_harness.h . The commented
$typeKselftestHarnessTypedefs should fix it but such definition is
considered as a function instead, because of the closing parenthesis.
I'd like some help to fix this as well.
With $typeKselftestHarnessTypedefs added to $typeTypedefs, we get:
static void c(const FIXTURE_VARIANT(d) *const e)
<E> <E> <_>WS( )
<E> <E> <_>IDENT(static)
<E> <V> <_>WS( )
<E> <V> <_>DECLARE(void )
<E> <T> <_>FUNC(c)
<E> <V> <V>PAREN('(')
<EV> <N> <_>MODIFIER(const)
<EV> <T> <_>WS( )
<EV> <T> <_>FUNC(FIXTURE_VARIANT)
<EV> <V> <V>PAREN('(')
<EVV> <N> <_>IDENT(d)
<EVV> <V> <_>PAREN(')') -> V
<EV> <V> <_>WS( )
<EV> <V> <_>OPV(*)
<EV> <N> <_>MODIFIER(const)
<EV> <T> <_>WS( )
<EV> <T> <_>IDENT(e)
<EV> <V> <_>PAREN(')') -> V
<E> <V> <_>WS(
)
30 > . static void c(const FIXTURE_VARIANT(d) *const e)
30 > EEVVVVVVVTTTTTVNTTTTTTVVVVVVVVVVVVVVVNVVVNTTTTTTVVV
30 > ________________________________________B_________
Cc: Andy Whitcroft <apw@...onical.com>
Cc: Dwaipayan Ray <dwaipayanray1@...il.com>
Cc: Joe Perches <joe@...ches.com>
Cc: Lukas Bulwahn <lukas.bulwahn@...il.com>
Signed-off-by: Mickaël Salaün <mic@...ikod.net>
Link: https://lore.kernel.org/r/20220901145948.1456353-1-mic@digikod.net
---
scripts/checkpatch.pl | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 79e759aac543..016b47c35742 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -576,10 +576,17 @@ our $typeKernelTypedefs = qr{(?x:
(?:__)?(?:u|s|be|le)(?:8|16|32|64)|
atomic_t
)};
+our $typeStdioTypedefs = qr{(?x:
+ FILE
+)};
+# our $typeKselftestHarnessTypedefs = qr{(?x:
+# FIXTURE_(?:DATA|VARIANT)\($Ident\)
+# )};
our $typeTypedefs = qr{(?x:
$typeC99Typedefs\b|
$typeOtherOSTypedefs\b|
- $typeKernelTypedefs\b
+ $typeKernelTypedefs\b|
+ $typeStdioTypedefs\b
)};
our $zero_initializer = qr{(?:(?:0[xX])?0+$Int_type?|NULL|false)\b};
base-commit: b90cb1053190353cc30f0fef0ef1f378ccc063c5
--
2.37.2
Powered by blists - more mailing lists