Commits

Anna Zaks committed 1d646a8ba8f
Implement overflow checking on integer literals (1 of 2) - Added 2 new builtins strunc_with_overflow and utrunc_with_overflow that perform truncation and produce a compile time error when truncation overflows. - Used these builtins instead of trunc to implement "_convertFromBuiltinIntegerLiteral". - Currently, the builtins are converted to trunc in IRGen, but we should not be IRGenning code that uses them, since all uses of "_convertFromBuiltinIntegerLiteral" should be inlined and the arguments constant folded. - I had to change a test and the implementation of operator '~' in the standard library because they assumed that '0xFF' is a valid signed Int8. It is questionable if we should allow this and if we should treat signed and unsigned integers differently depending on how they are spelled (decimal or hexadecimal). * This patch will be further improved (Ex: will start finding overflows on Int64, better deal with '-128' after the negative integer literal patch is committed.) Swift SVN r9226