summaryrefslogtreecommitdiffstats
path: root/libcxxabi
Commit message (Collapse)AuthorAgeFilesLines
...
* libcxxabi cmake: Use HandleLLVMOptions.cmake, don't manually add -std=c++11.Nico Weber2014-07-162-5/+1
| | | | | | | | No intended behavior change on Linux and Mac OS X. On Windows, having libcxxabi in one's checkout should now no longer break running cmake. (cl.exe supports c++11, but doesn't understand a -std= flag.) llvm-svn: 213214
* Fix for libc++abi when using -Wl,--as-needed.Dan Albert2014-07-143-0/+10
| | | | | | | | | | | The cmake files for libc++abi and the unwinder weren't linking against libpthread or an unwind library. If the tests were linked with -Wl,--as-needed, these libraries wouldn't be linked, causing them to fail. Patch contributed by İsmail Dönmez. llvm-svn: 212958
* Support LLVM_LIBDIR_SUFFIX.Dan Albert2014-07-112-4/+4
| | | | | | | | This is useful for distros installing under /usr/lib64. Patch from İsmail Dönmez. llvm-svn: 212826
* Add support for building and testing the unwinder.Dan Albert2014-07-116-8/+124
| | | | | | | Note: The unwinder currently only works on Darwin and on ARM Linux. Non-ARM Linux support is not yet implemented, and will fail to build. llvm-svn: 212824
* Make cmake cxxflags match those in lib/buildit.Dan Albert2014-07-102-11/+32
| | | | llvm-svn: 212768
* Add lit configs for libcxxabi tests.Dan Albert2014-07-106-9/+321
| | | | | | | | | | | | | | | This makes running libcxxabi tests on Linux _much_ easier. Adds a check-libcxxabi target to cmake. Also defaults to building a dynamic libc++abi. This is so that the default options still test the libc++abi that is being built. There are two problems with testing a static libc++abi. In the case of a standalone build, the tests will link the system's libc++, which might not have been built against our libc++abi. In the case of an in tree build, libc++ will prefer a dynamic libc++abi from the system over a static libc++abi from the output directory. llvm-svn: 212672
* Add a cmake build system.Dan Albert2014-07-034-0/+355
| | | | | | | Will add support for tests with lit in a later patch. This does not yet support building the unwinder in src/Unwind. llvm-svn: 212286
* Fix a warning about undeclared call to abort().Dan Albert2014-07-021-1/+3
| | | | llvm-svn: 212232
* Revert the LSDA change to scan_eh_tab.Logan Chien2014-06-301-19/+8
| | | | | | | | | | | This commit reverts the LSDA-related change in r211745. The r211745 adds a new argument to scan_eh_tab(), i.e. lsda. However, IMO, calling _Unwind_GetLanguageSpecificData() directly in scan_eh_tab() was more intuitive and reduces several function call to _Unwind_GetLanguageSpecificData() in __cxx_personality_v0(). llvm-svn: 212037
* Silence the implicit signed/unsigned conversion warning.Logan Chien2014-06-272-27/+29
| | | | llvm-svn: 211912
* Silence unused variable and parameter warnings.Logan Chien2014-06-262-3/+9
| | | | llvm-svn: 211790
* Fix linux build.Logan Chien2014-06-261-8/+10
| | | | | | | | | * Replace strlcpy with snprintf since strlcpy is not available in glibc. * Replace __LINUX__ with __linux__. llvm-svn: 211784
* Add missing header for _LIBUNWIND_LOG().Logan Chien2014-06-261-0/+1
| | | | llvm-svn: 211775
* Fix building for iOSNick Kledzik2014-06-261-1/+1
| | | | llvm-svn: 211751
* Minor libc++abi changes to make things build better with gcc.Nico Weber2014-06-253-1/+3
| | | | llvm-svn: 211748
* Update libc++abi to use the ARM EHABI unwinder from its libunwind.Nico Weber2014-06-253-36/+85
| | | | llvm-svn: 211745
* Land support for ARM EHABI unwinding for libunwind.Nico Weber2014-06-2510-83/+1636
| | | | | | | | | | | This was written by: Albert Wong <ajwong@chromium.org> Antoine Labour <piman@chromium.org> Dana Jansen <danakj@chromium.org Jonathan Roelofs <jonathan@codesourcery.com> Nico Weber <thakis@chromium.org> llvm-svn: 211743
* Start landing support for ARM EHABI unwinding.Nico Weber2014-06-255-17/+75
| | | | | | | | 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
* Add a FAQ section, with a question about why the std::exception class ↵Marshall Clow2014-06-111-0/+16
| | | | | | destructors live in libc++abi llvm-svn: 210661
* Add test case for inherited exceptionsJonathan Roelofs2014-06-031-0/+165
| | | | | | Test case written by Dana Jansens. llvm-svn: 210129
* Add EH test case checking that handlers in noexcept functions can still unwindJonathan Roelofs2014-05-311-0/+34
| | | | llvm-svn: 209944
* Add EH test cases corresponding to C++ ABI # 15.3.3Jonathan Roelofs2014-05-311-0/+444
| | | | llvm-svn: 209943
* Let libc++abi compile with gcc.Nico Weber2014-05-301-11/+12
| | | | | | | | | | | | | | There was a single problem in cxa_demangle.cpp, where gcc would complain `error: changes meaning of 'String'` about the line `typedef String String;`. According to 3.3.7p2, this diagnostic is allowed (but not required, so clang does not have to report this). As a fix, make string_pair a template and pass String as template parameter. This fixes the error with gcc and also removes some repetition from the code. No behavior change. llvm-svn: 209909
* Fix typo in comment.Logan Chien2014-05-141-1/+1
| | | | llvm-svn: 208795
* PR19091: Track whether we're demangling a function template specialization toRichard Smith2014-05-122-11/+31
| | | | | | | determine whether we get a mangling for a return type, rather than trying to figure it out based on whether the mangled name ended with a '>'. llvm-svn: 208611
* Implement ARM EHABI exception handling.Logan Chien2014-05-107-18/+462
| | | | | | | This commit implements the ARM zero-cost exception handling support for libc++abi. llvm-svn: 208466
* Check exception specification with __cplusplus.Logan Chien2014-05-101-1/+1
| | | | | | | | | To allow the compilation with gcc, we can't use the __has_feature(cxx_noexcept) to detect the default destructor exception specification, which is noexcept(true) by default in C++11. We should use __cplusplus >= 201103L instead. llvm-svn: 208465
* Fixes more incorrect #ifs for SJ/LJ exceptionsJonathan Roelofs2014-05-082-19/+19
| | | | | | Replaces several `#if __arm__` with `#if __USING_SJLJ_EXCEPTIONS__`. llvm-svn: 208352
* Fix broken build from r208135Jonathan Roelofs2014-05-081-0/+1
| | | | llvm-svn: 208350
* Make libc++abi use the implementation of __numstr from libc++. No ↵Marshall Clow2014-05-071-127/+6
| | | | | | functionality change, just removal of duplicated code. llvm-svn: 208246
* On single threaded systems, turn mutexes into nopsJonathan Roelofs2014-05-066-8/+96
| | | | | | http://reviews.llvm.org/D3386 llvm-svn: 208135
* Try harder to get the compiler to use float registers in differentJoerg Sonnenberger2014-05-041-8/+26
| | | | | | places to increase the chance of messing up any preserved registers. llvm-svn: 207938
* Don't use bash features.Joerg Sonnenberger2014-05-031-16/+16
| | | | llvm-svn: 207907
* Add unwind test case that checks restoring of float registers (such as on ↵Nick Kledzik2014-04-291-0/+239
| | | | | | AArch64) llvm-svn: 207481
* Fix cast warningNick Kledzik2014-04-281-2/+2
| | | | llvm-svn: 207469
* Use return address register from CIE. Move ↵Nick Kledzik2014-04-283-91/+20
| | | | | | DwarfInstructions::lastRestoreReg() to Register::lastDwarfRegNum(). llvm-svn: 207467
* No need to specialize DwarfInstructions::getCFA(). It is the same for all archsNick Kledzik2014-04-281-63/+12
| | | | llvm-svn: 207463
* Properly sign extend delta in compact unwind infoNick Kledzik2014-04-251-2/+3
| | | | llvm-svn: 207170
* Fix one missed use of DW_EH_PE_omit in r203626Nick Kledzik2014-04-251-1/+1
| | | | llvm-svn: 207169
* Remove unused/obsolete ARM64 constantsNick Kledzik2014-04-241-10/+1
| | | | llvm-svn: 207064
* Fix virtual class with non-virtual dtor complaintDan Albert2014-04-231-0/+1
| | | | | | | Fixes compiler complaint about: src/Unwind/UnwindCursor.hpp:366:25: error: 'libunwind::AbstractUnwindCursor' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor] llvm-svn: 206942
* Fixes incorrect #ifs for SJ/LJ exceptionsDan Albert2014-04-233-5/+5
| | | | | | | The was working because, given __APPLE__, _LIBUNWIND_BUILD_SJLJ_APIS was set to __arm__, but other ARM targets not using SJ/LJ will fail to compile. llvm-svn: 206941
* Fixes type of dyldInfo for glibc/bionic systemsDan Albert2014-04-231-1/+1
| | | | | | | Darwin and the BSDs define a tagged struct dl_info typedef'd as Dl_info. glibc and bionic typedef an anonymous struct as Dl_info. llvm-svn: 206939
* Replace bzero with memsetJonathan Roelofs2014-04-161-8/+9
| | | | | | ... so that we can use newlib as the c library. llvm-svn: 206427
* Properly sign extend sdata2/4 in unwinder. Patch by Patrick WildtNick Kledzik2014-04-121-2/+4
| | | | llvm-svn: 206122
* Properly conditionalize DwarfFDECache<A>::dyldUnloadHook. Patch by Patrick WildtNick Kledzik2014-04-121-0/+2
| | | | llvm-svn: 206121
* Code cleanup and re-indent cxa_exception.hppLogan Chien2014-04-121-54/+55
| | | | llvm-svn: 206108
* The content of .eh_frame may be misaligned, so use memcpy. This is seenJoerg Sonnenberger2014-04-081-7/+31
| | | | | | in the wild on SH3. llvm-svn: 205756
* Include stdlib.h for getenv when !NDEBUG.Joerg Sonnenberger2014-04-031-0/+1
| | | | llvm-svn: 205573
* Simplify.Joerg Sonnenberger2014-03-201-6/+1
| | | | llvm-svn: 204292
OpenPOWER on IntegriCloud