Commits

Chris Lattner committed 0bfacde2420
Fix: <rdar://problem/16230507> Cannot use a negative constant as the second operator of ... operator This is a case that the operator splitting code didn't handle because of the bizarre lexer code for handling operators with periods in them. We had accreted some weird special case logic for what is valid in an operator (but which even had a special case hack for ..<). The policy is now very simple: if an operator name starts with a dot, it is allowed to include other dots in its name. If it doesn't, it doesn't. This allows us to get lexer level operator splitting in cases like x=.Foo, allowing our existing operator set that have dots in them without hacks, and provides a superior QoI experience due to operator splitting. This is technically a language change, but the TSPL operator grammar was incorrect for it anyway. I will file an internal radar to get TSPL updated with the actual behavior (now that it is defensible).