checkpatch: improve TYPECAST_INT_CONSTANT test message

Improve the TYPECAST_INT_CONSTANT test by showing the suggested conversion
for various type of uses like (unsigned int)1 to 1U.

Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Joe Perches <[email protected]>
Cc: Douglas Gilbert <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
Joe Perches authored and Linus Torvalds committed 2021-02-26 09:41:04 -08:00
1 parent adb2da82fc
commit 0972b8bfe0
1 file changed
+10 -10
+10 -10
View File
@@ -6518,18 +6518,18 @@ sub process {
if ($line =~ /(\(\s*$C90_int_types\s*\)\s*)($Constant)\b/) {
my $cast = $1;
my $const = $2;
my $suffix = "";
my $newconst = $const;
$newconst =~ s/${Int_type}$//;
$suffix .= 'U' if ($cast =~ /\bunsigned\b/);
if ($cast =~ /\blong\s+long\b/) {
$suffix .= 'LL';
} elsif ($cast =~ /\blong\b/) {
$suffix .= 'L';
}
if (WARN("TYPECAST_INT_CONSTANT",
"Unnecessary typecast of c90 int constant\n" . $herecurr) &&
"Unnecessary typecast of c90 int constant - '$cast$const' could be '$const$suffix'\n" . $herecurr) &&
$fix) {
my $suffix = "";
my $newconst = $const;
$newconst =~ s/${Int_type}$//;
$suffix .= 'U' if ($cast =~ /\bunsigned\b/);
if ($cast =~ /\blong\s+long\b/) {
$suffix .= 'LL';
} elsif ($cast =~ /\blong\b/) {
$suffix .= 'L';
}
$fixed[$fixlinenr] =~ s/\Q$cast\E$const\b/$newconst$suffix/;
}
}