* [PATCH] checkpatch: Improve the unnecessary initialisers tests
2015-10-30 12:56 ` Andy Whitcroft
@ 2015-10-30 19:05 ` Joe Perches
0 siblings, 0 replies; 2+ messages in thread
From: Joe Perches @ 2015-10-30 19:05 UTC (permalink / raw)
To: Andy Whitcroft, Andrew Morton; +Cc: shailendra.v, linux-kernel
Global and static variables don't need to be initialized to 0.
There is already a test for this but the output message doesn't
mention booleans initialized to false.
Improve the output message and the test by adding various forms
with possible specific integer types and possible multiple zeros.
Miscellanea:
o Use a variable to hold the possible 0 test
Signed-off-by: Shailendra Verma <shailendra.v@samsung.com>
Signed-off-by: Joe Perches <joe@perches.com>
---
scripts/checkpatch.pl | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 2d88cbf9..2b3c228 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -370,6 +370,8 @@ our $typeTypedefs = qr{(?x:
$typeKernelTypedefs\b
)};
+our $zero_initializer = qr{(?:(?:0[xX])?0+$Int_type?|NULL|false)\b};
+
our $logFunctions = qr{(?x:
printk(?:_ratelimited|_once|)|
(?:[a-z0-9]+_){1,2}(?:printk|emerg|alert|crit|err|warning|warn|notice|info|debug|dbg|vdbg|devel|cont|WARN)(?:_ratelimited|_once|)|
@@ -3334,21 +3336,20 @@ sub process {
}
# check for global initialisers.
- if ($line =~ /^\+$Type\s*$Ident(?:\s+$Modifier)*\s*=\s*(?:0|NULL|false)\s*;/) {
+ if ($line =~ /^\+$Type\s*$Ident(?:\s+$Modifier)*\s*=\s*($zero_initializer)\s*;/) {
if (ERROR("GLOBAL_INITIALISERS",
- "do not initialise globals to 0 or NULL\n" .
- $herecurr) &&
+ "do not initialise globals to $1\n" . $herecurr) &&
$fix) {
- $fixed[$fixlinenr] =~ s/(^.$Type\s*$Ident(?:\s+$Modifier)*)\s*=\s*(0|NULL|false)\s*;/$1;/;
+ $fixed[$fixlinenr] =~ s/(^.$Type\s*$Ident(?:\s+$Modifier)*)\s*=\s*$zero_initializer\s*;/$1;/;
}
}
# check for static initialisers.
- if ($line =~ /^\+.*\bstatic\s.*=\s*(0|NULL|false)\s*;/) {
+ if ($line =~ /^\+.*\bstatic\s.*=\s*($zero_initializer)\s*;/) {
if (ERROR("INITIALISED_STATIC",
- "do not initialise statics to 0 or NULL\n" .
+ "do not initialise statics to $1\n" .
$herecurr) &&
$fix) {
- $fixed[$fixlinenr] =~ s/(\bstatic\s.*?)\s*=\s*(0|NULL|false)\s*;/$1;/;
+ $fixed[$fixlinenr] =~ s/(\bstatic\s.*?)\s*=\s*$zero_initializer\s*;/$1;/;
}
}
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] checkpatch: Improve the unnecessary initialisers tests
[not found] <EA.EB.04973.33AE6365@epcpsbgx4.samsung.com>
@ 2015-11-03 3:01 ` Joe Perches
0 siblings, 0 replies; 2+ messages in thread
From: Joe Perches @ 2015-11-03 3:01 UTC (permalink / raw)
To: shailendra.v; +Cc: Andy Whitcroft, Andrew Morton, linux-kernel@vger.kernel.org
On Mon, 2015-11-02 at 04:44 +0000, Shailendra Verma wrote:
> Hello Joe,
> Its looks good. I have tested the patch and it is working for all
> concerned error messages.
>
> Thanks for your co-ordination and support.
Hi again Shailendra.
Remember when you send email to LKML to use
non-html formatted emails.
cheers, Joe
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-11-03 3:02 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <EA.EB.04973.33AE6365@epcpsbgx4.samsung.com>
2015-11-03 3:01 ` [PATCH] checkpatch: Improve the unnecessary initialisers tests Joe Perches
[not found] <no@samsung.com>
2015-10-30 11:25 ` [PATCH] scripts:checkpatch - correct the error message during check shailendra.v
2015-10-30 12:56 ` Andy Whitcroft
2015-10-30 19:05 ` [PATCH] checkpatch: Improve the unnecessary initialisers tests Joe Perches
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox