Hi GCC developers, Andrew> Isn't [(1 << 31)] UB on a 32-bit machine as well? Looks like integer overflow to me. Challenge for the GCC developers: I would love if there was a switch like this: -fundefined-behavior-segv Such that if the source touches upon undefined behavior, it does: 1) compiler error 2) runtime SEGV Preferably the first, but in some unavoidable cases the second. Also, as far as I am concerned, with that switch enable, it would be plenty-fine-okay if the code had to be heavily instrumented (hence possibly huge* performance penalty) to check ranges and such so that at runtime the undefined behavior code incurs a SEGV. Furthermore, a -fimplementation-defined-behavior-segv would likewise be nice. I know... GCC is open source. Go ahead, add it myself, and submit the patch. :-) Sincerely, --Eljay * Huge being "takes twice as long", or "x10 as long", or even "x100 as long".