On Fri, 14 May 2010, Arnaud Lacombe wrote:

> Hi,
> 
> On Fri, May 14, 2010 at 1:51 PM, yoann padioleau
> <[email protected]> wrote:
> > There are some hardcoded patterns in the C parser used by coccinelle
> > to not process code under
> > #if 0
> > #endif
> >
> > The reason is that at least in the linux kernel, the code under such
> > ifdef is often not valid C code.
> >
> does it ? I just ran spatch with -noif0_passing in the root of the
> 2.6.33 directory and it completed successfully. I'd be tempted to say
> that having '#if 0' code ignored by default is misleading and error
> prone.

Spatch is not perturbed by code that it can't parse.  It just silently 
ignores the function containing it.  You see warnings if you use the 
option -parse_error_msg or -verbose_parsing (different degrees of 
verbosity).

It would perhaps be unfortunate if a function with legitimate code were 
not treated because it contained code under #if 0 that was somehow 
unparsable.  But which solution one wants probably depends on the problem 
and the code at hand.

julia
_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)

Reply via email to