Weird result for modulus operation

Ang Way Chuang wcang@nav6.org
Wed Apr 30 07:46:00 GMT 2008


Ang Way Chuang wrote:
> Andrew Pinski wrote:
>> On Tue, Apr 29, 2008 at 9:08 PM, Ang Way Chuang <wcang@nav6.org> wrote:
>>>  Thanks for the speedy reply. But why this code:
>>>
>>>         int a = 17, b = 16;
>>>         a = a++ % 16;
>>>
>>>  results in a = 2 then? I think I need to know what is sequence 
>>> point. I'll
>>> google that.
>>
>> As I mentioned, the code is undefined so it could be any value.
> 
> Is there any flag in gcc that can provide warning to code that relies on 
> undefined behaviours?

Found it. -Wsequence-point which is enabled by -Wall. But gcc didn't 
fart out any warning with -Wall or -Wsequence-point flag :(

> 
>>
>> Thanks,
>> Andrew Pinski
>>
> 
> 



More information about the Gcc mailing list