lint/checkpatch.pl: Check for 0-length and 1-element arrays
Use C99 flexible arrays instead of deprecated fake flexible arrays. This reduce difference with upstream. Change-Id: I24016493280e22f34ae5cce49fe7c1f520270f9a Signed-off-by: Elyes Haouas <ehaouas@noos.fr> Reviewed-on: https://review.coreboot.org/c/coreboot/+/76869 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin L Roth <gaumless@gmail.com>
This commit is contained in:
parent
b8c0e326a3
commit
281d6623f2
|
@ -6897,6 +6897,16 @@ sub process {
|
||||||
"Using $1 should generally have parentheses around the comparison\n" . $herecurr);
|
"Using $1 should generally have parentheses around the comparison\n" . $herecurr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# check for array definition/declarations that should use flexible arrays instead
|
||||||
|
if ($sline =~ /^[\+ ]\s*\}(?:\s*__packed)?\s*;\s*$/ &&
|
||||||
|
$prevline =~ /^\+\s*(?:\}(?:\s*__packed\s*)?|$Type)\s*$Ident\s*\[\s*(0|1)\s*\]\s*;\s*$/) {
|
||||||
|
if (ERROR("FLEXIBLE_ARRAY",
|
||||||
|
"Use C99 flexible arrays - see https://docs.kernel.org/process/deprecated.html#zero-length-and-one-element-arrays\n" . $hereprev) &&
|
||||||
|
$1 == '0' && $fix) {
|
||||||
|
$fixed[$fixlinenr - 1] =~ s/\[\s*0\s*\]/[]/;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# whine mightly about in_atomic
|
# whine mightly about in_atomic
|
||||||
if ($line =~ /\bin_atomic\s*\(/) {
|
if ($line =~ /\bin_atomic\s*\(/) {
|
||||||
if ($realfile =~ m@^drivers/@) {
|
if ($realfile =~ m@^drivers/@) {
|
||||||
|
|
Loading…
Reference in New Issue