summaryrefslogtreecommitdiffstats
path: root/libcxxabi/include/cxxabi.h
Commit message (Collapse)AuthorAgeFilesLines
* [libc++] Update link to Itanium C++ ABI documentationLouis Dionne2019-10-011-1/+1
| | | | llvm-svn: 373372
* [libc++abi] Create a macro for the 32 bit guard setting on ARM platformsLouis Dionne2019-04-101-1/+1
| | | | | | | | | | | | | | | | Summary: The goal is to use a descriptive name for this feature, instead of just using __arm__. Reviewers: EricWF Subscribers: javed.absar, kristof.beyls, christof, jkorous, dexonsmith, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D60520 llvm-svn: 358106
* Update more file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-191-4/+3
| | | | | | | | | | | | | | | | | | to reflect the new license. These used slightly different spellings that defeated my regular expressions. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351648
* [libc++abi] Provide __cxa_thread_atexit on FuchsiaPetr Hosek2018-10-291-2/+2
| | | | | | | | Fuchsia already supports this interface. Differential Revision: https://reviews.llvm.org/D53801 llvm-svn: 345534
* [libcxxabi] Clean up macro usage.Ranjeet Singh2017-03-011-1/+1
| | | | | | | | Convention in libcxxabi is to use !defined(FOO) not !FOO. Differential Revision: https://reviews.llvm.org/D30459 llvm-svn: 296612
* Fix non-reserved macro names LIBCXXABI_NORETURN and LIBCXXABI_ARM_EHABI.Eric Fiselier2017-03-011-9/+9
| | | | | | This patch adds the required leading underscore to those macros. llvm-svn: 296567
* ibc++abi: mark visibilitySaleem Abdulrasool2015-12-041-73/+96
| | | | | | | | | Mark functions and types with the appropriate visibility. This is particularly useful for environments which explicitly indicate origin of functions (Windows). This aids in generating libc++abi as a DSO which exposes only the public interfaces. llvm-svn: 254691
* c++abi: whitespace adjustmentSaleem Abdulrasool2015-12-041-92/+65
| | | | | | | Cleanup some code with clang-format to make the following change easier to identify material difference. NFC. llvm-svn: 254690
* Implement uncaught_exceptions() to get a count, rather than a bool. Update ↵Marshall Clow2015-06-021-3/+4
| | | | | | the libc++abi version. Reviewed as http://reviews.llvm.org/D10067 llvm-svn: 238827
* [libcxxabi] Fix -Werror build for 32-bit non-ARM.Dan Albert2015-02-051-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The inclusion of Unwind-EHABI.h was insufficiently guarded (LIBCXXABI_ARM_EHABI was beign checked without ever being defined). Move the check into the header file itself, add the check to the source file, and clean up the existing checks. LIBCXXABI_ARM_EHABI didn't have a canonical defintion; it was duplicated across cxxabi.h, libunwind.h, and unwind.h. Move the definition into __cxxabi_config.h and clean up the old cruft (note: we will have to ship this header). There are also a few drive-by formatting/whitespace cleanups. Reviewers: jroelofs, thakis, compnerd Reviewed By: compnerd Subscribers: compnerd, aemerson, cfe-commits Differential Revision: http://reviews.llvm.org/D7419 llvm-svn: 228363
* Enable -Wundef.Dan Albert2015-02-051-1/+1
| | | | | | | | The problem that caused the need for http://reviews.llvm.org/D7419 was caused by testing the value of something that was undefined. This should prevent that in the future. llvm-svn: 228257
* Whitespace cleanup.Dan Albert2015-02-041-54/+46
| | | | llvm-svn: 228195
* [libcxxabi] Add __cxa_thread_atexit for TLS support on Linux.Dan Albert2014-12-181-0/+6
| | | | | | | | | | | | | | | | | | | | | Summary: Fixes PR21738. The implementation for this is handled by __cxa_thread_atexit_impl, which is supplied by libc. More information: https://sourceware.org/glibc/wiki/Destructor%20support%20for%20thread_local%20variables Reviewers: mclow.lists, EricWF, jroelofs Reviewed By: jroelofs Subscribers: majnemer, cfe-commits Differential Revision: http://reviews.llvm.org/D6708 llvm-svn: 224477
* Adding ABI support for __cxa_throw_bad_array_new_length.Aaron Ballman2014-09-111-0/+1
| | | | llvm-svn: 217604
* Start landing support for ARM EHABI unwinding.Nico Weber2014-06-251-3/+11
| | | | | | | | The new code will be behind a LIBCXXABI_ARM_EHABI define (so that platforms that don't want it can continue using e.g. SJLJ). This commit mostly just adds the LIBCXXABI_ARM_EHABI define. llvm-svn: 211739
* Implement ARM EHABI exception handling.Logan Chien2014-05-101-0/+4
| | | | | | | This commit implements the ARM zero-cost exception handling support for libc++abi. llvm-svn: 208466
* I've moved __cxa_terminate_handler, __cxa_unexpected_handler and ↵Howard Hinnant2012-03-191-17/+0
| | | | | | __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
* Enable __arm__ on appleHoward Hinnant2012-03-141-1/+1
| | | | llvm-svn: 152735
* I had originally made the handler function pointers a static internal ↵Howard Hinnant2012-02-231-0/+17
| | | | | | 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
* Add (reluctantly) a namespace alias for __cxxabiv1.Howard Hinnant2012-02-171-0/+1
| | | | llvm-svn: 150828
* Add version number to this library so we can recognize when we're using it.Howard Hinnant2012-02-021-2/+1
| | | | llvm-svn: 149632
* Put throw() clauses back on these functions in cxxabi.h. This header must ↵Howard Hinnant2012-01-301-8/+8
| | | | | | be C++03 compatible and these throw specs are consistent with the current cxxabi.h that Apple ships. llvm-svn: 149249
* By changing all of the throw() specs to noexcept I've been able to compile ↵Howard Hinnant2012-01-241-8/+8
| | | | | | 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
* Added __cxa_increment_exception_refcount, ↵Howard Hinnant2011-12-211-18/+1
| | | | | | __cxa_decrement_exception_refcount, __cxa_current_primary_exception, __cxa_rethrow_primary_exception llvm-svn: 147106
* make cxxabi.h safe for C code to includeNick Kledzik2011-08-021-0/+4
| | | | llvm-svn: 136682
* make LIBCXXABI_NORETURN be the right attributeNick Kledzik2011-08-021-1/+1
| | | | llvm-svn: 136680
* Fixed struct/class mismatch for std::type_info and added NORETURN flagsMarshall Clow2011-07-201-3/+3
| | | | llvm-svn: 135584
* tabs to spacesHoward Hinnant2011-06-071-28/+28
| | | | llvm-svn: 132729
* Add support for the ARM EABI variant of the __cxa_guard methods, controlled byNick Lewycky2011-06-071-0/+6
| | | | | | the LIBCXXABI_ARMEABI macro. llvm-svn: 132723
* Added __cxa_bad_cast and __cxa_bad_typeid and placeholder NORETURN macroMarshall Clow2011-06-031-4/+6
| | | | llvm-svn: 132524
* Introduce cxa_virtual.cpp and cxa_guard.cpp. Contributed by Nick Lewycky, ↵Howard Hinnant2011-05-241-0/+3
| | | | | | Howard Hinnant and John McCall llvm-svn: 132009
* initial importHoward Hinnant2011-05-051-0/+177
llvm-svn: 130921
OpenPOWER on IntegriCloud