if() and trailing ;

Simon Boulet simon@nostalgeek.com
Sun Jul 30 00:25:00 GMT 2006


Hi,

After a couple hours debugging code, I figured our an if() somewhere  
had a trailing ;  like this:

                 if (memcmp(p, COMMUNITY, strlen(COMMUNITY)) != 0);
                         continue; /* failed */

The code above will always reach "continue" even when memcmp() == 0.

I was surprised to see gcc doesn't report anything, I would expect a  
"statement has no effect" warning.

Using gcc version 3.3.5 (Debian 1:3.3.5-13)

Thanks!

Simon





More information about the Gcc mailing list