Split catch IRgen into ItaniumCXXABI and MicrosoftCXXABI
authorReid Kleckner <reid@kleckner.net>
Tue, 3 Mar 2015 19:21:04 +0000 (19:21 +0000)
committerReid Kleckner <reid@kleckner.net>
Tue, 3 Mar 2015 19:21:04 +0000 (19:21 +0000)
commitfff8e7f6ba1e05d4c45df6923609a73e0300db1f
treeba080c0ecf6356ec5adc3c2f523421a7b4b553ab
parent5b240485b73db875dca0fd24e13c6485bbad3444
Split catch IRgen into ItaniumCXXABI and MicrosoftCXXABI

Use llvm.eh.begincatch for Microsoft-style catches.

This moves lots of CGException code into ItaniumCXXABI. Sorry for the
blame pain.

llvm-svn: 231105
clang/lib/CodeGen/CGCXXABI.cpp
clang/lib/CodeGen/CGCXXABI.h
clang/lib/CodeGen/CGException.cpp
clang/lib/CodeGen/CodeGenModule.h
clang/lib/CodeGen/ItaniumCXXABI.cpp
clang/lib/CodeGen/MicrosoftCXXABI.cpp
clang/test/CodeGenCXX/microsoft-abi-eh-catch.cpp [new file with mode: 0644]
clang/test/CodeGenCXX/microsoft-abi-eh-cleanups.cpp [moved from clang/test/CodeGenCXX/microsoft-abi-exceptions.cpp with 98% similarity]
clang/test/CodeGenCXX/microsoft-abi-try-throw.cpp