Commits

Chris Lattner committed c2793c249ee
substantially rewrite StmtCondition emission (again). In the previous attempt, we emitted just the optional buffers, and tested them when evaluated the condition, then consumed them all (producing the contained value) when the entire condition is true. This doesn't work with where conditions, because the where condition can use the bound variables. The new approach emits the variable bindings as the conditions is emitted, allowing the bindings to be in scope for where clauses. In addition to this redesign, the implementation is also somewhat simpler by being a recursive implementation which is (to me at least) easier to reason about. multi-pattern where bindings with where clauses should now be fully operational. Swift SVN r24360