Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Cleanup some dead code. | Mike Stump | 2009-12-24 | 1 | -3/+1 | |
| | | | | llvm-svn: 92122 | |||||
* | There is no such thing as typeinfo for a cv-qualified type. Assert | Douglas Gregor | 2009-12-23 | 1 | -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 Carlsson | 2009-12-17 | 1 | -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 Stump | 2009-12-17 | 1 | -1/+21 | |
| | | | | llvm-svn: 91588 | |||||
* | Use GetAddrOfRTTI everywhere and remove GenerateRTTI and GenerateRTTIRef. ↵ | Anders Carlsson | 2009-12-16 | 1 | -5/+4 | |
| | | | | | | With this change, we can now compile and link TableGen. llvm-svn: 91520 | |||||
* | Silence some release build warnings. | Chandler Carruth | 2009-12-13 | 1 | -0/+1 | |
| | | | | llvm-svn: 91234 | |||||
* | Un-namespace-qualify llvm_unreachable. It's a macro, so the qualification gave | Jeffrey Yasskin | 2009-12-12 | 1 | -2/+2 | |
| | | | | | | no extra safety anyway. llvm-svn: 91207 | |||||
* | When an exception needs to be freed by calling __cxa_exception_free, make ↵ | Anders Carlsson | 2009-12-11 | 1 | -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 Stump | 2009-12-11 | 1 | -1/+1 | |
| | | | | llvm-svn: 91078 | |||||
* | Setup cleanup on eh edge out of the construction of the cleanup object | Mike Stump | 2009-12-10 | 1 | -12/+6 | |
| | | | | | | during throw to deallocate the exception object. WIP. llvm-svn: 91035 | |||||
* | Fixup spacing. | Mike Stump | 2009-12-10 | 1 | -41/+41 | |
| | | | | llvm-svn: 91001 | |||||
* | Ensure we only generate one terminate handler. | Mike Stump | 2009-12-10 | 1 | -1/+4 | |
| | | | | llvm-svn: 90998 | |||||
* | Remove obsolete FIXME and some dead fallback code. | Mike Stump | 2009-12-09 | 1 | -6/+0 | |
| | | | | llvm-svn: 90997 | |||||
* | Add terminate handler for copy constructors for thrown objects. WIP. | Mike Stump | 2009-12-09 | 1 | -2/+16 | |
| | | | | llvm-svn: 90994 | |||||
* | Break out code for reuse. WIP. | Mike Stump | 2009-12-09 | 1 | -22/+39 | |
| | | | | llvm-svn: 90991 | |||||
* | Add cleanups for exceptional edges. WIP. | Mike Stump | 2009-12-09 | 1 | -0/+52 | |
| | | | | llvm-svn: 90940 | |||||
* | Add fixme. | Mike Stump | 2009-12-08 | 1 | -0/+1 | |
| | | | | llvm-svn: 90884 | |||||
* | Remove some old code. WIP. | Mike Stump | 2009-12-08 | 1 | -5/+0 | |
| | | | | llvm-svn: 90882 | |||||
* | Fixup catch parameters with class reference type. WIP. | Mike Stump | 2009-12-08 | 1 | -1/+1 | |
| | | | | llvm-svn: 90821 | |||||
* | Add codegen support for exception specifications. WIP. | Mike Stump | 2009-12-07 | 1 | -0/+119 | |
| | | | | llvm-svn: 90817 | |||||
* | Work around emitters that can't deal with dead code contexts yet. | Mike Stump | 2009-12-07 | 1 | -0/+4 | |
| | | | | llvm-svn: 90796 | |||||
* | Add support for function try blocks. | Mike Stump | 2009-12-04 | 1 | -1/+35 | |
| | | | | llvm-svn: 90622 | |||||
* | Fixup nested try blocks. | Mike Stump | 2009-12-04 | 1 | -2/+12 | |
| | | | | llvm-svn: 90576 | |||||
* | Fix warning and be sure to set up the rethrow pointer if we fall off | Mike Stump | 2009-12-04 | 1 | -3/+5 | |
| | | | | | | the end of all the catches. llvm-svn: 90574 | |||||
* | Try/catch statements seem to be working well enough to turn on. | Mike Stump | 2009-12-04 | 1 | -1/+1 | |
| | | | | llvm-svn: 90538 | |||||
* | Disable for now, doesn't play nice with the temporary code. | Mike Stump | 2009-12-04 | 1 | -1/+5 | |
| | | | | llvm-svn: 90537 | |||||
* | Fixup reference binding for catch parameters. | Mike Stump | 2009-12-04 | 1 | -6/+21 | |
| | | | | | | Fixup throws and rethrows to use invoke as appropriate. llvm-svn: 90513 | |||||
* | These are done. | Mike Stump | 2009-12-03 | 1 | -2/+0 | |
| | | | | llvm-svn: 90494 | |||||
* | Improve catch parameter bindings for scalar non-pointers. WIP. | Mike Stump | 2009-12-03 | 1 | -4/+8 | |
| | | | | llvm-svn: 90492 | |||||
* | Reflow. | Mike Stump | 2009-12-03 | 1 | -1/+3 | |
| | | | | llvm-svn: 90407 | |||||
* | Remove untrue statement. | Mike Stump | 2009-12-03 | 1 | -3/+0 | |
| | | | | llvm-svn: 90377 | |||||
* | Cleanups on exceptional edges don't work at all, yet. This doesn't | Mike Stump | 2009-12-02 | 1 | -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 Stump | 2009-12-02 | 1 | -15/+19 | |
| | | | | llvm-svn: 90357 | |||||
* | Pull the terminate handler up so that we can use it for the catch | Mike Stump | 2009-12-02 | 1 | -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 Stump | 2009-12-02 | 1 | -2/+3 | |
| | | | | llvm-svn: 90334 | |||||
* | Avoid warning for getTerminateFn defined but not used. | Mike Stump | 2009-12-02 | 1 | -9/+3 | |
| | | | | llvm-svn: 90330 | |||||
* | terminate doesn't throw. | Mike Stump | 2009-12-02 | 1 | -0/+1 | |
| | | | | llvm-svn: 90308 | |||||
* | More exception handling improvements... WIP. | Mike Stump | 2009-12-02 | 1 | -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 Stump | 2009-12-01 | 1 | -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 Stump | 2009-11-20 | 1 | -2/+126 | |
| | | | | llvm-svn: 89513 | |||||
* | Implement throw d, where d is a class type that requires copy | Mike Stump | 2009-11-20 | 1 | -2/+22 | |
| | | | | | | construction. WIP. llvm-svn: 89442 | |||||
* | Handle throw d, where d is a class type but only has a trivial copy | Mike Stump | 2009-11-20 | 1 | -8/+9 | |
| | | | | | | constructor. WIP. llvm-svn: 89438 | |||||
* | Add suport for throw;. WIP. | Mike Stump | 2009-11-20 | 1 | -4/+16 | |
| | | | | llvm-svn: 89424 | |||||
* | Fix rtti generation for throws. WIP. | Mike Stump | 2009-11-20 | 1 | -9/+1 | |
| | | | | llvm-svn: 89420 | |||||
* | Get throws limping along, still a bunch of FIXMEs. Too bad we don't support ↵ | Anders Carlsson | 2009-10-30 | 1 | -1/+86 | |
| | | | | | | catching anything yet :) llvm-svn: 85574 | |||||
* | Add CGException.cpp, to be used for exception related code generation. | Anders Carlsson | 2009-10-30 | 1 | -0/+20 | |
llvm-svn: 85560 |