{"push_id":584767312,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"fcb5402f028c080cb7e25bb7e974bbb4a793e650","before":"7d6cea258429e300deeefac21ead530db75dae6b","commits":[{"sha":"fcb5402f028c080cb7e25bb7e974bbb4a793e650","author":{"email":"0d2d6fe0cb2e9ade0d2bf90d72a72b8ac034ef0e@gmx.de","name":"Nico Weber"},"message":"Reland r230460 with a test fix for -Asserts builds.\n\nOriginal CL description:\nProduce less broken basic block sequences for __finally blocks.\n\nThe way cleanups (such as PerformSEHFinally) get emitted is that codegen\ngenerates some initialization code, then calls the cleanup's Emit() with the\ninsertion point set to a good place, then the cleanup is supposed to emit its\nstuff, and then codegen might tack in a jump or similar to where the insertion\npoint is after the cleanup.\n\nThe PerformSEHFinally cleanup tries to just stash away the block it's supposed\nto codegen into, and then does codegen later, into that stashed block.  However,\nafter codegen'ing the __finally block, it used to set the insertion point to\nthe finally's continuation block (where the __finally cleanup goes when its body\nis completed after regular, non-exceptional control flow).  That's not correct,\nas that block can (and generally does) already ends in a jump.  Instead,\nremember the insertion point that was current before the __finally got emitted,\nand restore that.\n\nFixes two of the crashes in PR22553.\n\n\ngit-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230503 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/llvm-project/clang/commits/fcb5402f028c080cb7e25bb7e974bbb4a793e650"}]}