On 01 August 2006 16:00, Andreas Schwab wrote:
> Joe Buck <[EMAIL PROTECTED]> writes:
>
>> On Sat, Jul 29, 2006 at 07:33:03PM -0400, Simon Boulet wrote:
>>> 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.
>>
>> But it is common to have an empty action on a condition. You'll often see
>> code like
>>
>> if (condition)
>> /* nothing */;
>
> Having an empty action on a condition without an else clause does not make
> any sense.
>
How about
if (condition)
assert (other_dependent_condition);
compiled under NDEBUG?
cheers,
DaveK
--
Can't think of a witty .sigline today....