https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70085
Bug ID: 70085 Summary: False positive -Wmisleading-indentation Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: joel at gcc dot gnu.org Target Milestone: --- In code which indents cpp directives to match the code, the checker is confused. The following example is sufficient to generate the warning. ======================= #define ENABLE_FEATURE int f(int x, int y) { if (x > y) return x - y; #ifdef ENABLE_FEATURE if (x == y) return 0; #endif return -1; } ======================= sparc-rtems4.12-gcc (GCC) 6.0.0 20160228 (RTEMS 4.12, RSB b537e5536459e207fc8e56a1df3774c1700606d5, Newlib 2.3.0.20160226) indent.c: In function 'f': indent.c:9:5: warning: statement is indented as if it were guarded by... [-Wmisleading-indentation] if (x == y) ^~ indent.c:5:3: note: ...this 'if' clause, but it is not if (x > y) ^~