lint/checkpatch: Add check for old-style declarations

This reduce the difference with linux v6.5-rc4. and check for
const static or static <non ptr type> const declarations.

Change-Id: Ib4b37e130f2edbfe0385f0707a8c910a244bcfc7
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/70202
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
This commit is contained in:
Elyes Haouas 2023-08-01 18:21:26 +02:00
parent dcb59dcec4
commit e572765be1
1 changed files with 12 additions and 0 deletions

View File

@ -4249,6 +4249,18 @@ sub process {
}
}
# check for const static or static <non ptr type> const declarations
# prefer 'static const <foo>' over 'const static <foo>' and 'static <foo> const'
if ($sline =~ /^\+\s*const\s+static\s+($Type)\b/ ||
$sline =~ /^\+\s*static\s+($BasicType)\s+const\b/) {
if (WARN("STATIC_CONST",
"Move const after static - use 'static const $1'\n" . $herecurr) &&
$fix) {
$fixed[$fixlinenr] =~ s/\bconst\s+static\b/static const/;
$fixed[$fixlinenr] =~ s/\bstatic\s+($BasicType)\s+const\b/static const $1/;
}
}
# check for non-global char *foo[] = {"bar", ...} declarations.
if ($line =~ /^.\s+(?:static\s+|const\s+)?char\s+\*\s*\w+\s*\[\s*\]\s*=\s*\{/) {
WARN("STATIC_CONST_CHAR_ARRAY",