In my experience we can't rely on manual handling of these integer overflow issues, especially with changing compiler behavior over time.
I've noted some compile time and run time checking options at:
http://www.pixelbeat.org/programming/gcc/integer_overflow.ht...