summaryrefslogtreecommitdiffstats
path: root/libcxxabi/src/cxa_personality.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Refactored personality function. Found one bug in scanning exception spec ↵Howard Hinnant2012-01-301-779/+361
| | | | | | lists. llvm-svn: 149272
* Add a descriptive name for a constant. Also I'm at least temporarily waging ↵Howard Hinnant2012-01-301-36/+855
| | | | | | war on throw specs, both old and new style. Except where we have already publicly exposed the throw spec, I'm getting rid of them. They may come back later. But they seem somewhat prone to cyclic dependencies here. The throw spec implies compiler generated code that this library has to jump to during stack unwinding. I'd like to minimize the possiblity that the code used to properly make that jump is itself creating such jumps. llvm-svn: 149251
* Sometimes it takes all day to write a decent comment. This is one of those ↵Howard Hinnant2012-01-281-36/+144
| | | | | | times, and I'm still not quite sure I have them correct. llvm-svn: 149154
* Forgot to include this file in the last commit: Move kOurExceptionClass and ↵Howard Hinnant2012-01-241-2/+0
| | | | | | kOurDependentExceptionClass from source to header so that they can be used in multiple sources. This is a private header, these constants are not publicly exposed. llvm-svn: 148829
* Getting started on matching a thrown exception to a catch clause, and ↵Howard Hinnant2012-01-221-8/+16
| | | | | | setting the adjusted pointer to the caught object appearing in the catch clause. llvm-svn: 148666
* I kept getting confused among the __cxa_exception*, the _Unwind_Exception* ↵Howard Hinnant2012-01-221-28/+39
| | | | | | and the void* to the thrown object. So I've gone through these two files and attempted to institute a consistent variable naming scheme, and in a few instances, turned void* into a concrete* to have the type system help me out. No change in functionality for this commit is intended. llvm-svn: 148663
* First brush with testing __gxx_personality_v0 reveals there is still a long ↵Howard Hinnant2012-01-081-22/+72
| | | | | | way to go. But my understanding of what it is supposed to do continues to improve. I am currently contemplating whether I need to implement typeinfo before completing __gxx_personality_v0 in order to get matching catch handlers correct. llvm-svn: 147761
* __gxx_personality_v0 update. This is completely untested code. But my ↵Howard Hinnant2012-01-061-8/+283
| | | | | | brain is scrambled and I wanted to get it checked in. Code review from anyone who knows anything at all about personality functions would be much appreciated. What is in here is borrowed heavily from llvm/examples/ExceptionDemo/ExceptionDemo.cpp. There are some calls to abort() that should probably be changed to return an error code instead. There may be encodings under readEncodedPointer that need to be implemented. And my handling of type_info is almost a complete guess. llvm-svn: 147680
* Just getting started on the personality routine. This is just a skeleton. ↵Howard Hinnant2012-01-041-0/+107
Still learning how to fill it in... llvm-svn: 147547
OpenPOWER on IntegriCloud