History log of /external/libcxxabi/src/cxa_handlers.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e45805f0d3f8dafef1297cc7dc49e610713f023b 03-Jul-2014 Dan Albert <danalbert@google.com> Merge to upstream r212232.

Includes ARM EHABI unwinder.

Change-Id: I7e40c761abc0a4c67f11b8e9f85efefa6ba292ba
/external/libcxxabi/src/cxa_handlers.cpp
cb7f886ccca770e8b3ab9cdd892d740f5b8b8031 28-Apr-2012 Howard Hinnant <hhinnant@apple.com> Make __cxa_new_handler un-mangled

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@155763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_handlers.cpp
4cfb63f07516ceff10be81c7dfac6c18122df782 19-Mar-2012 Howard Hinnant <hhinnant@apple.com> I would really like to write the handlers in terms of C++11 atomics. This would give us the best performance, portablity, and safety tradeoff. Unfortunately I can not yet do that. So I've put the desired code in comments, and reverted the handler getters to the slower but safer legacy atomic intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@153041 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_handlers.cpp
0f80bb79c0181c706cf6acce44f854e96ecaf755 19-Mar-2012 Howard Hinnant <hhinnant@apple.com> I've moved __cxa_terminate_handler, __cxa_unexpected_handler and __cxa_new_handler from the public header cxxabi.h into the private header cxa_handlers.hpp. During this move I've also moved them from namespace __cxxabiapple into the global namespace. They are, and have always been extern C and so the namespace (or lack of it) does not affect their ABI. In general external clients should not reference these symbols. They are atomic variables and will be changing into C++11 atomic variables in the future. However for those few clients who really need access to them, their name, mangling, size, alignment and layout will remain stable. You just may need your own declaration of them. Include guards have been added to the private header cxa_exception.hpp. The private header cxa_default_handlers.hpp has been removed and the default handlers are now file-static. Include guards have been added to the private header cxa_handlers.hpp.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@153039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_handlers.cpp
1ba2c4bd78fdf18737cf347d9789352d91d04741 15-Mar-2012 Dave Zarzycki <zarzycki@apple.com> Less lame "concurrency" support

These APIs aren't thread safe, but they're pretending to be. Let's at
least make the getter as fast as they can be. The setters are a lost
cause unless the API can be fixed.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_handlers.cpp
2507beff620a5d748de01b83bb8f33adcb228c0e 15-Mar-2012 Dave Zarzycki <zarzycki@apple.com> Be friendly to when dead_strip doesn't work

Apple Radar: 11053417

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_handlers.cpp
439ce87946c310a093f4d39a2636ce6b4682bdac 15-Mar-2012 Nick Kledzik <kledzik@apple.com> move default handlers to their own file so they can be overridden at build time (dyld)

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_handlers.cpp
f2ebd5904c06ebca3c759d0b8ca877ffaee62daf 08-Mar-2012 Howard Hinnant <hhinnant@apple.com> Enable/silence -Wshadow.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_handlers.cpp
ff94a3ab3ac34b588c6fe3b6e2428407c939ad21 23-Feb-2012 Howard Hinnant <hhinnant@apple.com> And the handlers should be extern C.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@151261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_handlers.cpp
fdac5f9274eb4854820f45e7991099706a00504b 23-Feb-2012 Howard Hinnant <hhinnant@apple.com> I had originally made the handler function pointers a static internal detail, not accessible to the outside world. I did this because they must be accessed in a thread-safe manner, and the library provides thread-safe getters and setters for these. However I am at least temporarily making them public and giving them the Apple-extension names. In the future these may disappear again, and I think that would probably be a good idea.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@151256 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_handlers.cpp
7ab185ea390a9ad39f512bd3e7d3ee6ea76812c8 01-Feb-2012 Howard Hinnant <hhinnant@apple.com> Treat all exceptions except that the ones that this library throws as foreign. Even other C++ exceptions.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_handlers.cpp
06b1ea1bbdc163008d1e7714f5f41f43908b8def 31-Jan-2012 Howard Hinnant <hhinnant@apple.com> Have the default unexpected/terminate handler output *demangled* names for the type of exception instead of the mangled name.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_handlers.cpp
1a58491066c80bd4b599e49fe0930b9390807e0b 31-Jan-2012 Howard Hinnant <hhinnant@apple.com> Minor bug fix in __cxa_call_unexpected. Changed std::terminate to detect a caught-but-unhandled exception, and choose the handler out of that if found.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_handlers.cpp
7da9b96afc66c4496eb8809897c1b707b574a5c4 30-Jan-2012 Howard Hinnant <hhinnant@apple.com> Add a descriptive name for a constant. Also I'm at least temporarily waging 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.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_handlers.cpp
3f034b77daeb3d7ab5a0c5167b2ffece7c9cbd28 24-Jan-2012 Howard Hinnant <hhinnant@apple.com> Remove dependence upon std::exception_ptr from the default_terminate_handler. Recovered the equivalent functionality at a lower level.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_handlers.cpp
e8fcf83b576ff70ba5886fbd73434218a68ac414 07-Dec-2011 Howard Hinnant <hhinnant@apple.com> Reviewing cxa_exception.cpp and marking as implemented as I go. Not marking as implemented on arm when I'm not sure about that platform.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@146072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_handlers.cpp
d2af0fd62fc0a75baebd3ba16f9caf35d6e8a0c5 06-Dec-2011 Howard Hinnant <hhinnant@apple.com> terminate, unexpected and new handlers. If terminating while an exception is unwinding, an attempt is made to print out the what() string if the exception is derived from std::exception. __terminate(handler) and __unexpected(handler) helpers are present in anticipation of other parts of libc++abi needing to call these interfaces with custom handlers.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@145948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_handlers.cpp