[SEH] Implement filter capturing in CodeGen
authorReid Kleckner <reid@kleckner.net>
Mon, 6 Apr 2015 23:51:44 +0000 (23:51 +0000)
committerReid Kleckner <reid@kleckner.net>
Mon, 6 Apr 2015 23:51:44 +0000 (23:51 +0000)
commit0ada50f17fd38aa537c80248e24a18541418d8c6
treef7765d95d5b93aa287bbd30ad4dad8754f62cea4
parenta85f0e82dc17687fea7534bee70ffd387d7a6953
[SEH] Implement filter capturing in CodeGen

While capturing filters aren't very common, we'd like to outline
__finally blocks in the frontend to simplify -O0 EH preparation and
reduce code size. Finally blocks are usually have captures, and this is
the first step towards that.

Currently we don't support capturing 'this' or VLAs.

Reviewers: majnemer

Differential Revision: http://reviews.llvm.org/D8825

llvm-svn: 234261
clang/lib/CodeGen/CGException.cpp
clang/lib/CodeGen/CodeGenFunction.cpp
clang/lib/CodeGen/CodeGenFunction.h
clang/test/CodeGenCXX/exceptions-seh-filter-captures.cpp [new file with mode: 0644]