https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82100
--- Comment #4 from David Binderman <dcb314 at hotmail dot com> ---
For this code:
extern void g( int, int);
extern void h( int, int);
void f( int i, int j)
{
if (i < j)
{
if (i < j)
g( 0, 0);
else
h( 1, 1);
}
}
gcc has little to say:
$ ~/gcc/results/bin/gcc -c -O2 -Wall -Wextra -Wunreachable-code -pedantic
apr10a.cc
$
I think there are about a dozen cases in the gcc source code where this
kind of identical inner condition occurs.
So the removal of the implementation of -Wunreachable-code seems
to allowed some not quite right code to appear in gcc itself.