3 ms·
I had to try it just because I wanted to know. With -Wall GCC says: pquest.c:279: warning: operation on 'fp' may be undefined Not sure what 'may' means though
by PassTheAmmo 16y ago
I had to try it just because I wanted to know. With -Wall GCC says:
pquest.c:279: warning: operation on 'fp' may be undefined
Not sure what 'may' means though
EDIT:
So to clarify, my suspicion is that the expression could mean either:
1)
*fp = *fp >> 4;
*fp++;
or
2)
*fp = *(fp+1) >> 4;
*fp++;
- BrandonM 16y agoIt is not the addressed value which is being incremented, but the pointer itself. There is no ambiguity.
- PassTheAmmo 16y agoI never claimed that the addressed value would be incremented, and that is not what is being discussed here, even though that too would have been a problem. The thing is, at some point the compiler must calculate the address where to store the value. The question is then if there is a sequence point between calculating the data to store and the address which to store to. Otherwise there is ambiguity and the result is undefined. According to http://en.wikipedia.org/wiki/Sequence_point http://en.wikipedia.org/wiki/Sequence_point there is no sequence point because of assignment (only initialization which this is not) Btw was it you that downvoted my comment?