Patrick Palka <patr...@parcs.ath.cx> writes:
> At the same time this patch extends the coverage of the
> -Wmisleading-indentation implementation to catch misleading indentation
> involving the semicolon.  (These changes are all contained in
> c-indentation.c.)  For example, now we warn on the following code
> samples:
>
>   if (flag);
>     foo ();
>
>   while (flag);
>   {
>     ...
>   }
>
>   if (flag); {
>     ...
>   }
>
>   if (flag)
>     ; /* blah */ {
>       ...
>     }
>
>   if (flag); foo ();
>
> while avoiding to warn on code that is poorly indented but not
> misleadingly so;
>
>   while (flag);
>   foo ();
>
>   while (flag)
>     ;
>     foo ();

Maybe I've just been doing too much Python recently, but unlike the
other two examples, this one does seem a little misleading.  What would
happen for:

  while (flag)
    /* blah */;
    foo ();

where the semicolon is hidden after a comment?

Thanks to David and you for the patches btw -- looks like a really
useful feature.

Richard

>   if (flag1)
>     ;
>   if (flag)
>     ;
>   else
>    ...

Reply via email to