During jump-scope checking, build an ExprWithCleanups immediately
into the enclosing scope;  this is a more accurate model but is
(I believe) unnecessary in my test case due to other flaws.
However, one of those flaws is now intentional:  blocks which
appear in return statements can be trivially observed to not
extend in lifetime past the return, and so we can allow a jump
past them.  Do the necessary magic in IR-generation to make
this work.

llvm-svn: 164589
diff --git a/clang/test/CodeGenCXX/exceptions.cpp b/clang/test/CodeGenCXX/exceptions.cpp
index 8c20c9e..723e8d1 100644
--- a/clang/test/CodeGenCXX/exceptions.cpp
+++ b/clang/test/CodeGenCXX/exceptions.cpp
@@ -365,6 +365,7 @@
     // CHECK-NEXT: invoke void @_ZN5test71BC1ERKNS_1AEPS0_(
     // CHECK:      store i1 false, i1* [[OUTER_NEW]]
     // CHECK:      phi
+    // CHECK-NEXT: store [[B]]*
 
     // Destroy the inner A object.
     // CHECK-NEXT: load i1* [[INNER_A]]