------- Comment #55 from js at linuxtv dot org 2007-03-08 16:22 ------- Point taken. I was misled by the mentioning of C99 6.3.1.3 in comment #18, that this would apply to integer conversion.
Funnily enough, C99 3.4.3 even says "An example of undefined behavior is the behavior on integer overflow." I should've read that one more thoroughly. C99 Annex H (Informative) says: "Cs unsigned integer types are modulo in the LIA−1 sense in that overflows or out-of-bounds results silently wrap. An implementation that defines signed integer types as also being modulo need not detect integer overflow, in which case, only integer divide-by-zero need be detected." Which suggests that implmentations define signed integer overflow semantics, but maybe it's just bad wording, and anyway it's not part of the standard proper. Sorry for the noise and thanks for the C lesson. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30475