uncrustify is not a compiler. Let have a look on: # if A int abc( int a, int b, int c) { // do something # else int abc( int a, int b) { // do something else # endif } It will produce an error, because uncrustify doesn't evaluate the value of A. uncrustify will read all the lines, a compiler only a part of it, depending on A. uncrustify encounter two opening braces but only one closing brace.