summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGException.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Cleanup some dead code.Mike Stump2009-12-241-3/+1
| | | | llvm-svn: 92122
* There is no such thing as typeinfo for a cv-qualified type. AssertDouglas Gregor2009-12-231-2/+7
| | | | | | | | that this is true when mangling, then fix up the various places in Sema and/or CodeGen that need to remove qualifiers. Addresses a linking issue when building LLVM with Clang. llvm-svn: 92064
* Rename GetAddrOfRTTI to GetAddrOfRTTIDescriptor. Remove the overload that ↵Anders Carlsson2009-12-171-5/+5
| | | | | | takes a CXXRecordDecl since we were just creating a QualType from it anyway. llvm-svn: 91590
* Ensure we run cleanups for CXXTemporaries on the exceptional edge. WIP.Mike Stump2009-12-171-1/+21
| | | | llvm-svn: 91588
* Use GetAddrOfRTTI everywhere and remove GenerateRTTI and GenerateRTTIRef. ↵Anders Carlsson2009-12-161-5/+4
| | | | | | With this change, we can now compile and link TableGen. llvm-svn: 91520
* Silence some release build warnings.Chandler Carruth2009-12-131-0/+1
| | | | llvm-svn: 91234
* Un-namespace-qualify llvm_unreachable. It's a macro, so the qualification gaveJeffrey Yasskin2009-12-121-2/+2
| | | | | | no extra safety anyway. llvm-svn: 91207
* When an exception needs to be freed by calling __cxa_exception_free, make ↵Anders Carlsson2009-12-111-12/+20
| | | | | | | | sure to stash away the exception pointer somewhere. This fixes an "Instruction does not dominate all uses!" verification error when compiling TableGen. llvm-svn: 91084
* Fix spacing.Mike Stump2009-12-111-1/+1
| | | | llvm-svn: 91078
* Setup cleanup on eh edge out of the construction of the cleanup objectMike Stump2009-12-101-12/+6
| | | | | | during throw to deallocate the exception object. WIP. llvm-svn: 91035
* Fixup spacing.Mike Stump2009-12-101-41/+41
| | | | llvm-svn: 91001
* Ensure we only generate one terminate handler.Mike Stump2009-12-101-1/+4
| | | | llvm-svn: 90998
* Remove obsolete FIXME and some dead fallback code.Mike Stump2009-12-091-6/+0
| | | | llvm-svn: 90997
* Add terminate handler for copy constructors for thrown objects. WIP.Mike Stump2009-12-091-2/+16
| | | | llvm-svn: 90994
* Break out code for reuse. WIP.Mike Stump2009-12-091-22/+39
| | | | llvm-svn: 90991
* Add cleanups for exceptional edges. WIP.Mike Stump2009-12-091-0/+52
| | | | llvm-svn: 90940
* Add fixme.Mike Stump2009-12-081-0/+1
| | | | llvm-svn: 90884
* Remove some old code. WIP.Mike Stump2009-12-081-5/+0
| | | | llvm-svn: 90882
* Fixup catch parameters with class reference type. WIP.Mike Stump2009-12-081-1/+1
| | | | llvm-svn: 90821
* Add codegen support for exception specifications. WIP.Mike Stump2009-12-071-0/+119
| | | | llvm-svn: 90817
* Work around emitters that can't deal with dead code contexts yet.Mike Stump2009-12-071-0/+4
| | | | llvm-svn: 90796
* Add support for function try blocks.Mike Stump2009-12-041-1/+35
| | | | llvm-svn: 90622
* Fixup nested try blocks.Mike Stump2009-12-041-2/+12
| | | | llvm-svn: 90576
* Fix warning and be sure to set up the rethrow pointer if we fall offMike Stump2009-12-041-3/+5
| | | | | | the end of all the catches. llvm-svn: 90574
* Try/catch statements seem to be working well enough to turn on.Mike Stump2009-12-041-1/+1
| | | | llvm-svn: 90538
* Disable for now, doesn't play nice with the temporary code.Mike Stump2009-12-041-1/+5
| | | | llvm-svn: 90537
* Fixup reference binding for catch parameters.Mike Stump2009-12-041-6/+21
| | | | | | Fixup throws and rethrows to use invoke as appropriate. llvm-svn: 90513
* These are done.Mike Stump2009-12-031-2/+0
| | | | llvm-svn: 90494
* Improve catch parameter bindings for scalar non-pointers. WIP.Mike Stump2009-12-031-4/+8
| | | | llvm-svn: 90492
* Reflow.Mike Stump2009-12-031-1/+3
| | | | llvm-svn: 90407
* Remove untrue statement.Mike Stump2009-12-031-3/+0
| | | | llvm-svn: 90377
* Cleanups on exceptional edges don't work at all, yet. This doesn'tMike Stump2009-12-021-5/+0
| | | | | | | catch very many of them and if we caught all of them, the errors would be annoying. I'm working on this next. WIP. llvm-svn: 90358
* Add a cleanup scope for each catch clause.Mike Stump2009-12-021-15/+19
| | | | llvm-svn: 90357
* Pull the terminate handler up so that we can use it for the catchMike Stump2009-12-021-35/+31
| | | | | | | parameter setup code and set up the catch parameter setup code to protect that code with terminate. llvm-svn: 90340
* Change rtti/Rtti to RTTI, as it is an acronym.Mike Stump2009-12-021-2/+3
| | | | llvm-svn: 90334
* Avoid warning for getTerminateFn defined but not used.Mike Stump2009-12-021-9/+3
| | | | llvm-svn: 90330
* terminate doesn't throw.Mike Stump2009-12-021-0/+1
| | | | llvm-svn: 90308
* More exception handling improvements... WIP.Mike Stump2009-12-021-30/+71
| | | | | | | | | | | 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. llvm-svn: 90305
* Much work on try/catch statement. WIP.Mike Stump2009-12-011-69/+250
| | | | | | | | | | | | | | | | | 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. llvm-svn: 90205
* Checkpoint current work. WIP.Mike Stump2009-11-201-2/+126
| | | | llvm-svn: 89513
* Implement throw d, where d is a class type that requires copyMike Stump2009-11-201-2/+22
| | | | | | construction. WIP. llvm-svn: 89442
* Handle throw d, where d is a class type but only has a trivial copyMike Stump2009-11-201-8/+9
| | | | | | constructor. WIP. llvm-svn: 89438
* Add suport for throw;. WIP.Mike Stump2009-11-201-4/+16
| | | | llvm-svn: 89424
* Fix rtti generation for throws. WIP.Mike Stump2009-11-201-9/+1
| | | | llvm-svn: 89420
* Get throws limping along, still a bunch of FIXMEs. Too bad we don't support ↵Anders Carlsson2009-10-301-1/+86
| | | | | | catching anything yet :) llvm-svn: 85574
* Add CGException.cpp, to be used for exception related code generation.Anders Carlsson2009-10-301-0/+20
llvm-svn: 85560
OpenPOWER on IntegriCloud