On 03/28/2014 01:59 PM, Justin Whear wrote: > $ clang test.c && ./a.out > test.c:7:7: warning: multiple unsequenced modifications to 'i' [- > Wunsequenced] > i = i++; > ~ ^ > 1 warning generated. > 0 > > > Both gcc and clang agree that in C, assigning a post-increment to itself > results in the original value.
The result of a test program cannot be proof of that. In fact, changing the value of a variable more than once between two sequence points is undefined behavior.
> At least Clang warns, which is good, It is unfortunate that Clang does not use the word "undefined" there. > but D is consistent with C's behavior on this point. It is undefined behavior in both languages. Ali
