From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joe Perches Subject: Re: [PATCH] checkpatch: support function pointers for unnamed function definition arguments Date: Wed, 13 Sep 2017 22:33:41 -0700 Message-ID: <1505367221.8969.25.camel@perches.com> References: <1505358082-12997-1-git-send-email-miles.chen@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <1505358082-12997-1-git-send-email-miles.chen@mediatek.com> Sender: linux-kernel-owner@vger.kernel.org To: Miles Chen , Andy Whitcroft Cc: linux-kernel@vger.kernel.org, wsd_upstream@mediatek.com, linux-mediatek@lists.infradead.org List-Id: linux-mediatek@lists.infradead.org On Thu, 2017-09-14 at 11:01 +0800, Miles Chen wrote: > Current unnamed function definition argument does not include function > pointer cases and it reports warnings like: > > WARNING: function definition argument 'void' should also have an identifier name > > Support function pointers for unnamed function arguments. > > Signed-off-by: Miles Chen > --- > scripts/checkpatch.pl | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > index dd2c262..dc6da15 100755 > --- a/scripts/checkpatch.pl > +++ b/scripts/checkpatch.pl > @@ -5957,7 +5957,7 @@ sub process { > > # check for function declarations that have arguments without identifier names > if (defined $stat && > - $stat =~ /^.\s*(?:extern\s+)?$Type\s*$Ident\s*\(\s*([^{]+)\s*\)\s*;/s && > + $stat =~ /^.\s*(?:extern\s+)?$Type\s*\(?\s*\*?\s*$Ident\s*\)\s*\(\s*([^{]+)\s*\)\s*;/s && Better would be to specifically support function pointers like: ---  scripts/checkpatch.pl | 2 +-  1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 05dd72693621..7289c1eb0b19 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -5957,7 +5957,7 @@ sub process {    # check for function declarations that have arguments without identifier names   if (defined $stat && -     $stat =~ /^.\s*(?:extern\s+)?$Type\s*$Ident\s*\(\s*([^{]+)\s*\)\s*;/s && +     $stat =~ /^.\s*(?:extern\s+)?$Type\s*(?:$Ident|\(\s*\*\s*$Ident\s*\))\s*\(\s*([^{]+)\s*\)\s*;/s &&       $1 ne "void") {   my $args = trim($1);   while ($args =~ m/\s*($Type\s*(?:$Ident|\(\s*\*\s*$Ident?\s*\)\s*$balanced_parens)?)/g) {