Detecting superfluous "else"
Paul Koning
paulkoning@comcast.net
Thu Jul 19 13:11:00 GMT 2018
> On Jul 19, 2018, at 4:49 AM, U.Mutlu <um@mutluit.com> wrote:
>
> Hi,
> it makes me 'crazy' when I see such if-else constructs:
> if (x)
> return 7;
> else
> return 4;
>
> (Of course in this case one better would use the shorthand "return x ? 7 : 4;", but that's not the issue here)
>
> The 'else' is obviously superfluous/redundant, ie. unneeded at all:
> if (x)
> return 7;
> return 4;
>
> Is it possible to warn about such unneccessary occurances of "else"?
> If not, then I suggest to add a new warning code -Wsuperfluous-else or -Wredundant-else or so.
I don't see any reason to warn about that code. It's perfectly valid, and in my view is clearer than the alternative. I've written both but I most often write the "else" variant for the reason that it expresses the semantics explicitly.
Warnings are appropriate for code that is known to be a source of bugs, or where there is a reasonable chance that the intent of the programmer doesn't match what was actually written. That's not the case here.
paul
More information about the Gcc
mailing list