Given the following code: extern void foo(); extern void bar(); void f(int i) { if (i > 0) #ifdef FOO foo(); #else bar(); #endif } google-readability-braces-around-statements places the braces incorrectly: extern void foo(); extern void bar(); void f(int i) { if (i > 0) { #ifdef FOO foo(); #else bar(); } #endif } The correct code should be: extern void foo(); extern void bar(); void f(int i) { if (i > 0) { #ifdef FOO foo(); #else bar(); #endif } } or extern void foo(); extern void bar(); void f(int i) { if (i > 0) { #ifdef FOO foo(); } #else bar(); } #endif }
Here's another, similar case: void f(int i) { #if FOO if (i > 0) #else if (i < 0) #endif foo(); }