aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGException.cpp
AgeCommit message (Collapse)Author
2009-12-04Fixup reference binding for catch parameters.Mike Stump
Fixup throws and rethrows to use invoke as appropriate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90513 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03These are done.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90494 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03Improve catch parameter bindings for scalar non-pointers. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90492 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03Reflow.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90407 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03Remove untrue statement.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90377 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-02Cleanups on exceptional edges don't work at all, yet. This doesn'tMike Stump
catch very many of them and if we caught all of them, the errors would be annoying. I'm working on this next. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90358 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-02Add a cleanup scope for each catch clause.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90357 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-02Pull the terminate handler up so that we can use it for the catchMike Stump
parameter setup code and set up the catch parameter setup code to protect that code with terminate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90340 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-02Change rtti/Rtti to RTTI, as it is an acronym.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90334 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-02Avoid warning for getTerminateFn defined but not used.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90330 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-02terminate doesn't throw.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90308 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-02More exception handling improvements... WIP.Mike Stump
Highlights include: Add a helper to generate __cxa_free_exception and _ZSt9terminatev. Add a region to handle EH object deallocation for ctor failures for throw. Add a terminate handler for __cxa_end_catch. A framework for adding cleanup actions for the exceptional edges only. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90305 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-01Much work on try/catch statement. WIP.Mike Stump
Highlights include: Fix __cxa_begin_catch so it now returns a value. Added getUnwindResumeOrRethrowFn helper to build up calls to _Unwind_Resume_or_Rethrow. Broke out object copying code into CopyObject from EmitCXXThrowExpr. Built up another version of CopyObject that can copy from memory for use in the catch parameter code. RTTI generation for type matching for catch. Code to check for the type match for catch. Code to generate the catch parameter, WIP, need make sure references and pointers and copy ctors work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90205 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Checkpoint current work. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89513 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Implement throw d, where d is a class type that requires copyMike Stump
construction. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89442 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Handle throw d, where d is a class type but only has a trivial copyMike Stump
constructor. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89438 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Add suport for throw;. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89424 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Fix rtti generation for throws. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89420 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-30Get throws limping along, still a bunch of FIXMEs. Too bad we don't support ↵Anders Carlsson
catching anything yet :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85574 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-30Add CGException.cpp, to be used for exception related code generation.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85560 91177308-0d34-0410-b5e6-96231b3b80d8