summaryrefslogtreecommitdiff
path: root/src/exception.cc
Commit message (Collapse)AuthorAge
* Fix a copy-and-paste error when setting the unexpected exception handlerHEADmasterDavid Chisnall2013-02-07
| | | | (actually set the terminate handler by mistake).
* Fix the case where we rethrow an exception when none was caught.David Chisnall2013-01-14
|
* Fixed the case where there is a catchall in C++ and a foreign exceptionDavid Chisnall2012-12-05
| | | | is thrown into it.
* Ensure the correct happens-before relationship between set / getDavid Chisnall2012-03-27
| | | | | | functions. Add the C++11 std::get_new_handler().
* Rework exception matching.David Chisnall2012-03-20
| | | | | | | | | | | | | | - Remove typeinfo since thing break if the compiler decides to use the system one and merge its contents into typeinfo.h - Make each type_info object have a vtable with the same layout as the public vtable in libstdc++'s <typeinfo>. This fixes code (e.g. libobjc2's Objective-C++ exception handling) which rely on being able to add new types. - Add some extra tests I suspect exceptions catching pointer-to-member types will not work correctly, but I've never seen anyone do this and don't have any tests for it.
* Add per-file copyright notices / licensesDavid Chisnall2012-03-10
| | | | (makes life easier for downstream people)
* Simplify the weak symbol tests so that they're only done for things that we ↵David Chisnall2011-11-25
| | | | don't expect any OS (even the silly one) to have stubs for.
* Make all pthread symbols weak and test before calling any of them. This ↵David Chisnall2011-11-24
| | | | should allow us to work on platforms like GNU/Linux that don't export pthread stubs in libc.
* Add fake TLS support so that we work for single-threaded programs when not ↵David Chisnall2011-11-24
| | | | linked to pthread.
* Tweak the cleanup code slightly.David Chisnall2011-11-25
|
* And add support for nesting cleanups.David Chisnall2011-11-25
|
* Finished ARM EH enough that it passes the test suite. Still to do:David Chisnall2011-11-25
| | | | properly handle nested cleanups.
* Mostly-working ARM exceptions.David Chisnall2011-11-24
| | | | Exception specifications are still broken - only the first is checked.
* And remember to save the temporaries in the ARM EH header if required...David Chisnall2011-11-23
|
* Use the ARM / Itanium EH abstraction layer.David Chisnall2011-11-23
|
* Fix use of __dynamic_cast().David Chisnall2011-10-02
|
* Fix exception.cc to not include its own (incompatible) prototype of a ↵David Chisnall2011-09-29
| | | | function that's now in the header.
* Fix bugs that the libc++ test suite found in the handling of dependent ↵David Chisnall2011-09-20
| | | | exceptions.
* Tweak some definitions to make clang happy.David Chisnall2011-09-20
|
* Removed debugging line accidentally left in last commit.Charlie Root2011-09-20
|
* Add get_terminate() / get_unexpected() functions required by libc++.Charlie Root2011-09-20
| | | | Fixed the default unexpected handler to std::terminate().
* Added full support for libc++.Charlie Root2011-09-20
| | | | | | | | - cxxabi.h now exports all of the definitions that libc++ needs. - The exception handling code now supports getting a reference-counted pointer to the current exception, which can be used for implementing exception_ptr, allowing exceptions to be transferred between threads. - The error message printed when you throw an exception that isn't caught is now actually useful!
* Tidy up of the libcxxrt sources. Added missing comments, fixed some ↵anonymous2011-05-09
| | | | inconsistent indenting.
* fix for COMPILER-8941anonymous2011-01-17
|
* fix for crash in report_failure functionanonymous2011-01-11
|
* fix for COMPILER-8918: don't add exception into listanonymous2011-01-11
| | | | of caught exceptions if it's already in the list
* Fix for COMPILER-8916 (rethrowing/catching exception several times)anonymous2011-01-11
|
* Make std::set_unexpected and std::set_terminate set global (process)anonymous2011-01-10
| | | | | | | | | | | | | unexpected and terminate handlers, respectively. Added pathscale:: versions of both (not exposed in the headers, so not - yet - part of the public API), which retain the old behaviour and set a thread-local version. Also added pathscale::set_use_thread_local_handlers(), which allows the user to request the thread-local behaviour from the std:: versions. Also not exposed via a header yet. The pathscale:: namespace might not be the most sensible place for these, and some thought should be given to this before actually making them public.
* Fix for COMPILER-8909anonymous2011-01-06
|
* fix for COMPILER-8903: throwing/catching pointers with casts, void*, etcanonymous2011-01-04
|
* fix for COMPILER-8902: terminate handler should be called if it was set ↵anonymous2011-01-04
| | | | using std::set_terminate
* Fixed throwing / catching pointers.anonymous2010-11-25
|
* Make __cxa_get_exception_ptr() return the correct value, instead of oneanonymous2010-10-29
| | | | that is occasionally correct.
* __cxa_get_exception_ptr implementationanonymous2010-10-04
|
* Fixed crash when rethrowing.anonymous2010-10-01
|
* Fix cast from function to data pointer warning.anonymous2010-09-30
|
* Add __cxa_demangle supportanonymous2010-09-29
|
* Remove extra fprintfanonymous2010-09-21
|
* Author: David - Handle unordered action table entries, avoid printing cxxrt ↵anonymous2010-09-21
| | | | functions in back trace
* Author: David - Fix handling cleanups in exception unwindinganonymous2010-09-20
|
* Revert "Fix for 32bit mode"anonymous2010-09-18
| | | | | | This needed a test case and is incorrect based on further testing This reverts commit 34e644687dbbba757c91a4152fefdd27873e4ff3.
* Fixed minor compiler warnings.anonymous2010-09-17
|
* Fix for 32bit modeanonymous2010-09-13
|
* Fix for gcc-3.xanonymous2010-08-31
|
* Unused include was removedanonymous2010-08-23
|
* Fix for gcc-4.2anonymous2010-07-08
|
* Missing throw() specifier is addedanonymous2010-07-05
|
* uncaught_exception function is addedanonymous2010-07-02
|
* Add a proper cleanup handler, to allow foreign exception handlers toanonymous2010-06-30
| | | | destroy this exception.
* Added std:: functions for setting unexpected / terminate handlers.anonymous2010-06-28
|