Commits

Chris Lattner committed 82ef514f99d
Reimplement the AST, Sema, and SILGen of defer to be closure based. Now we bind the defer body into a ClosureExpr and emit it at the point of the defer. At any exit points out of the controlled region, we emit a call to the closure. This should cover any problems where expressions cannot be emitted multiple times. However, this is dramatically more complex than the obvious implementation, so I hope this patch can be reverted. Swift SVN r27767