On Fri, 2012-01-20 at 16:46 +0300, Dan Carpenter wrote:
> 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?

Table I looked at said 3,
http://publib.boulder.ibm.com/infocenter/macxhelp/v6v81/index.jsp?topic=/com.ibm.vacpp6m.doc/language/ref/clrc05preeval.htm
but 1 is c++ only, so you're right
c level 2.

> 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.

I think there are some convenience macros like:
#define helper(a, b) some->long[a]->dereference.b

but likely anyone that really wants to add a
!~- prefix to those should be mindful anyway.

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to