[petsc-dev] Style Guide: How to format single-line if/for/while-blocks?

Karl Rupp rupp at mcs.anl.gov
Mon Jan 21 19:23:55 CST 2013


Hi,

>
>               Things like
>
>               if (y < 12) {ierr = Something(); CHKERRQ(ierr);}
>
>         don't match the standard but …. am I being too picky? I believe
>         the PETSc make uncrustify rule would move that to separate lines.
>
>
>     I expect that it's a lot easier to define a rule where '{' opens a
>     new block on the next line rather than having a 'sometimes it's a
>     single line'-type of exception.
>
>
> Yes, though
>
> if (y < 12) {
>    ierr = Something();CHKERRQ(ierr);
> }
>
> takes three times as many lines. I don't care much either way, but it's
> nice to not waste vertical space.

But, unfortunately, it is also a good example of why uncrustify-like 
tools have a hard time with PETSc:

  if (y < 12) {
     ierr = Something();
     call_other_function(ierr);
  }

is semantically very much the same to a parser, yet it should lead to 
different formatting.

Best regards,
Karli




More information about the petsc-dev mailing list