Fixes type of dyldInfo for glibc/bionic systems

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.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@206939 91177308-0d34-0410-b5e6-96231b3b80d8
Fixes incorrect #ifs for SJ/LJ exceptions

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.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@206941 91177308-0d34-0410-b5e6-96231b3b80d8
Fix virtual class with non-virtual dtor complaint

Fixes compiler complaint about:
src/Unwind/UnwindCursor.hpp:366:25: error: 'libunwind::AbstractUnwindCursor' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@206942 91177308-0d34-0410-b5e6-96231b3b80d8
Remove unused/obsolete ARM64 constants

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@207064 91177308-0d34-0410-b5e6-96231b3b80d8
Fix one missed use of DW_EH_PE_omit in r203626

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@207169 91177308-0d34-0410-b5e6-96231b3b80d8
Properly sign extend delta in compact unwind info

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@207170 91177308-0d34-0410-b5e6-96231b3b80d8
No need to specialize DwarfInstructions::getCFA().  It is the same for all archs

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@207463 91177308-0d34-0410-b5e6-96231b3b80d8
Use return address register from CIE.  Move DwarfInstructions::lastRestoreReg() to Register::lastDwarfRegNum().

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@207467 91177308-0d34-0410-b5e6-96231b3b80d8
Fix cast warning

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@207469 91177308-0d34-0410-b5e6-96231b3b80d8
Add unwind test case that checks restoring of float registers (such as on AArch64)

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@207481 91177308-0d34-0410-b5e6-96231b3b80d8
Don't use bash features.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@207907 91177308-0d34-0410-b5e6-96231b3b80d8
Try harder to get the compiler to use float registers in different
places to increase the chance of messing up any preserved registers.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@207938 91177308-0d34-0410-b5e6-96231b3b80d8
On single threaded systems, turn mutexes into nops

http://reviews.llvm.org/D3386


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@208135 91177308-0d34-0410-b5e6-96231b3b80d8
Make libc++abi use the implementation of __numstr from libc++. No functionality change, just removal of duplicated code.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@208246 91177308-0d34-0410-b5e6-96231b3b80d8
Fix broken build from r208135

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@208350 91177308-0d34-0410-b5e6-96231b3b80d8
Fixes more incorrect #ifs for SJ/LJ exceptions

Replaces several `#if __arm__` with `#if __USING_SJLJ_EXCEPTIONS__`.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@208352 91177308-0d34-0410-b5e6-96231b3b80d8
Check exception specification with __cplusplus.

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.



git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@208465 91177308-0d34-0410-b5e6-96231b3b80d8
Implement ARM EHABI exception handling.

This commit implements the ARM zero-cost exception handling
support for libc++abi.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@208466 91177308-0d34-0410-b5e6-96231b3b80d8
PR19091: Track whether we're demangling a function template specialization to
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 '>'.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@208611 91177308-0d34-0410-b5e6-96231b3b80d8
Fix typo in comment.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@208795 91177308-0d34-0410-b5e6-96231b3b80d8