Commits

Dmitri Hrybenko committed 011284e9c95
Make minus sign part of IntegerLiteralExpr and make integers literals 136-bits wide Currently integer literals are 64-bit. In order to allow checking for overflow while converting an integer literal to swift.UInt/Int* types we need at least 65 bits. But floating point numbers (Float32, Float64, Float80) are BuiltinIntegerLiteralConvertible. In order to allow spelling large floating point constants, we allow 136-bit literals. Rationale: 128 bits are enough to represent the absolute value of min/max IEEE Binary32, and we need 1 bit to represent the sign. 136 is 129 rounded to the next 8 bits. The plan is to have builtins that do the overflow check and convert 136-bit numbers to the required width. We need these builtins for both integers and floating point numbers to ensure that 136-bit numbers are folded into sane constants in SIL and don’t escape to LLVM IR. Swift SVN r9253