summaryrefslogtreecommitdiff
path: root/src/cxa_exception.hpp
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2012-03-19 16:20:34 +0000
committerHoward Hinnant <hhinnant@apple.com>2012-03-19 16:20:34 +0000
commit0f80bb79c0181c706cf6acce44f854e96ecaf755 (patch)
tree296eac464f2f43b9e2d6b938d3bbb468f6f3970f /src/cxa_exception.hpp
parent1321731d59f4afcab576de163f625c65eea96871 (diff)
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
Diffstat (limited to 'src/cxa_exception.hpp')
-rw-r--r--src/cxa_exception.hpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/cxa_exception.hpp b/src/cxa_exception.hpp
index cf019d4..66f05c4 100644
--- a/src/cxa_exception.hpp
+++ b/src/cxa_exception.hpp
@@ -11,6 +11,9 @@
//
//===----------------------------------------------------------------------===//
+#ifndef _CXA_EXCEPTION_H
+#define _CXA_EXCEPTION_H
+
#include <exception> // for std::unexpected_handler and std::terminate_handler
#include <cxxabi.h>
#include "unwind.h"
@@ -116,3 +119,5 @@ static const uint64_t get_vendor_and_language = 0xFFFFFFFFFFFFFF00; // mask
#pragma GCC visibility pop
}
+
+#endif // _CXA_EXCEPTION_H