------- Comment #1 from ebotcazou at gcc dot gnu dot org 2005-10-22 16:24 ------- > In other word, the assignment: > > *(char *)(Current + 9) = my_computation (Current, i); > > as the effect of > > char * tmp = Current + 9 > *tmp = my_computation (Current, i); > > but this is incorrect because `Current' was actually modified by > `my_computation' and thus we assign to the wrong location.
6.5.16 Assignment Operators ยง4 The order of evaluation of the operands is unspecified. -- ebotcazou at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ebotcazou at gcc dot gnu dot | |org Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24486