summaryrefslogtreecommitdiffstats
path: root/libcxxabi/src/cxa_handlers.hpp
Commit message (Collapse)AuthorAgeFilesLines
* libcxxabi: Rename .hpp files to .hNico Weber2019-08-121-55/+0
| | | | | | | | LLVM uses .h as its extension for header files. Differential Revision: https://reviews.llvm.org/D65981 llvm-svn: 368604
* 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] Clean up visibilityShoaib Meenai2017-03-011-2/+2
| | | | | | | | | | | | | | | | | Use the libc++abi visibility macros instead of pragmas or using visibility attributes directly. Clean up redundant attributes on definitions (where the declarations already have visibility attributes applied, from either libc++ or libc++abi headers). Introduce _LIBCXXABI_WEAK as a drive-by cleanup, which matches the semantics of _LIBCPP_WEAK. No functional change. Tested by building on Linux before and after this change and verifying that the list of exported symbols is identical. Differential Revision: https://reviews.llvm.org/D26949 llvm-svn: 296576
* annotate more function visibilitySaleem Abdulrasool2016-09-231-3/+5
| | | | | | | | These data and text symbols were missing annotations for building with hidden visibility. As we do not currently enable hidden visibility by default, this is a NFC for the buildbots. llvm-svn: 282300
* Bruce Mitchener: Typo fixes.Howard Hinnant2013-02-151-1/+1
| | | | llvm-svn: 175275
* I would really like to write the handlers in terms of C++11 atomics. This ↵Howard Hinnant2012-03-191-0/+14
| | | | | | 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. llvm-svn: 153041
* I've moved __cxa_terminate_handler, __cxa_unexpected_handler and ↵Howard Hinnant2012-03-191-0/+14
| | | | | | __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
* Remove dependence upon std::exception_ptr from the ↵Howard Hinnant2012-01-241-4/+2
| | | | | | default_terminate_handler. Recovered the equivalent functionality at a lower level. llvm-svn: 148830
* Reviewing cxa_exception.cpp and marking as implemented as I go. Not marking ↵Howard Hinnant2011-12-071-0/+28
as implemented on arm when I'm not sure about that platform. llvm-svn: 146072
OpenPOWER on IntegriCloud