Re: [PATCH 1/6] staging:android_pmem.h: Fixes the space and otherformating issues pointed out by checkpatch.pl

From: Dan Carpenter
Date: Fri Jan 20 2012 - 08:45:07 EST


On Fri, Jan 20, 2012 at 05:15:15AM -0800, Joe Perches wrote:
> @@ -2838,7 +2849,8 @@
> if ($dstat ne '' &&
> $dstat !~ /^(?:$Ident|-?$Constant),$/ && # 10, // foo(),
> $dstat !~ /^(?:$Ident|-?$Constant);$/ && # foo();
> - $dstat !~ /^(?:$Ident|-?$Constant)$/ && # 10 // foo()
> + $dstat !~ /^[!~-]?(?:$Ident|$Constant)$/ && # 10 // foo() // !foo // ~foo // -foo
> + $dstat !~ /^'X'$/ && # character constants
> $dstat !~ /$exceptions/ &&
> $dstat !~ /^\.$Ident\s*=/ && # .foo =
> $dstat !~ /^do\s*$Constant\s*while\s*$Constant;?$/ && # do {...} while (...); // do {...} while (...)
>
> I think the character change test is fine but
> the !~- addition/change is suspect.
>
> !~- are precedence level 3 operators

Level 2?

> and can be impacted by things like ++

They work like you would expect:

#define NOT_FOO !foo
++NOT_FOO <-- compile error.
NOT_FOO++ <-- works.

Anyway if people are really writing macros which are used this way,
then that's something which is outside of the scope of checkpatch.pl
to fix.

regards,
dan carpenter

Attachment: signature.asc
Description: Digital signature