On 19/07/2018 18:56, Eric Gallager wrote:
On 7/19/18, U.Mutlu <u...@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.

Thx

Semi-related: bug 81851: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81851
(my disagreement with that request is similar to my disagreement with
this request)
Your example might be worth a warning, to allow the developer to refactor

int g (int i)
{
   if (i == 0)   // no warning
     return 0;
#if SOME_OTHER_PLATFORM
   if (i == 2)
     return 1;
#endif
   return 0;
}
to
int g (int i)
{
#if SOME_OTHER_PLATFORM
   if (i == 2)
     return 1;
#endif
   return 0;
}
It is purely stylistic, but if one is worried about dup branch at all, than 
it's reasonable to assume one would want this warning too.
It would require distinguishing between multiple possible branches by the 
preprocessor, rather than the compiler. No idea who emits the dup branch 
warning.



Reply via email to