https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70922
--- Comment #14 from Pedro Alves <palves at redhat dot com> ---
(In reply to Jakub Jelinek from comment #12)
> The warning is about dangling else, which you have in the source.
> if (cond)
> for (...)
> if (cond2)
> ...
> else
> and while the C/C++ grammar say they bind to the inner-most if, many people
> actually mistake this.
At the risk of getting a bit off topic, or maybe generalizing in a different
direction, IMO this should be tied to the new misleading indentation tracking.
What people actually mistake is this:
if (cond)
for (...)
if (cond2)
...
else
...
While I seriously doubt anyone mistakes your example quoted above as the else
binding to the outer if.