Howard Hinnant
|
4ac72dd982
|
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.
llvm-svn: 153039
|
2012-03-19 16:20:34 +00:00 |
Howard Hinnant
|
baae2be624
|
Enable __arm__ on apple
llvm-svn: 152735
|
2012-03-14 19:30:00 +00:00 |
Howard Hinnant
|
49f28b5a47
|
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.
llvm-svn: 151256
|
2012-02-23 15:32:07 +00:00 |
Howard Hinnant
|
995fcc0d49
|
Add (reluctantly) a namespace alias for __cxxabiv1.
llvm-svn: 150828
|
2012-02-17 18:45:44 +00:00 |
Howard Hinnant
|
eaa65afc7b
|
Work on restricting symbol visibility.
llvm-svn: 149633
|
2012-02-02 20:47:28 +00:00 |
Howard Hinnant
|
90ef25c05e
|
Add version number to this library so we can recognize when we're using it.
llvm-svn: 149632
|
2012-02-02 20:47:05 +00:00 |
Howard Hinnant
|
5bbc597f1e
|
Put throw() clauses back on these functions in cxxabi.h. This header must be C++03 compatible and these throw specs are consistent with the current cxxabi.h that Apple ships.
llvm-svn: 149249
|
2012-01-30 16:02:11 +00:00 |
Howard Hinnant
|
abc770690a
|
By changing all of the throw() specs to noexcept I've been able to compile and link all of the source files into a dylib. Prior to this substitution the changed functions were calling __cxa_call_unexpected which isn't implemented yet. However in none of these cases do we actaully want __cxa_call_unexpected to be called. Primative buildit script added.
llvm-svn: 148880
|
2012-01-24 23:42:30 +00:00 |
Howard Hinnant
|
e04f51662c
|
Added __cxa_increment_exception_refcount, __cxa_decrement_exception_refcount, __cxa_current_primary_exception, __cxa_rethrow_primary_exception
llvm-svn: 147106
|
2011-12-21 23:32:11 +00:00 |
Howard Hinnant
|
bf8a39bb94
|
Fixed several bugs, implemented support for vector types, and cleaned out dead code.
llvm-svn: 146677
|
2011-12-15 20:02:15 +00:00 |
Howard Hinnant
|
49b607a2cd
|
Silence some -Wall warnings pointed out by Marshall Clow
llvm-svn: 137047
|
2011-08-08 15:49:07 +00:00 |
Nick Kledzik
|
2dfc79b19e
|
make cxxabi.h safe for C code to include
llvm-svn: 136682
|
2011-08-02 05:15:26 +00:00 |
Nick Kledzik
|
12a10bc046
|
make LIBCXXABI_NORETURN be the right attribute
llvm-svn: 136680
|
2011-08-02 05:01:17 +00:00 |
Marshall Clow
|
60fa2d232a
|
Fixed struct/class mismatch for std::type_info and added NORETURN flags
llvm-svn: 135584
|
2011-07-20 14:27:46 +00:00 |
Howard Hinnant
|
471e111324
|
In cxa_demangle.cpp, rewrite __parse_unresolved_name to reflect updated understanding and sync with updated clang mangling. Also fix think-o in __parse_encoding enabling the parsing of trailing .eh and .b.
llvm-svn: 133632
|
2011-06-22 19:27:39 +00:00 |
Howard Hinnant
|
575498b52f
|
tabs to spaces
llvm-svn: 132729
|
2011-06-07 19:56:49 +00:00 |
Nick Lewycky
|
69e35a7f55
|
Add support for the ARM EABI variant of the __cxa_guard methods, controlled by
the LIBCXXABI_ARMEABI macro.
llvm-svn: 132723
|
2011-06-07 18:46:10 +00:00 |
Marshall Clow
|
ad3dea06a9
|
Added __cxa_bad_cast and __cxa_bad_typeid and placeholder NORETURN macro
llvm-svn: 132524
|
2011-06-03 02:04:41 +00:00 |
Howard Hinnant
|
4a88971ac1
|
Introduce cxa_virtual.cpp and cxa_guard.cpp. Contributed by Nick Lewycky, Howard Hinnant and John McCall
llvm-svn: 132009
|
2011-05-24 22:01:16 +00:00 |
Howard Hinnant
|
d3da57f99b
|
initial import
llvm-svn: 130921
|
2011-05-05 15:27:28 +00:00 |