Disable backtrace libcxxabi test on ARM

_Unwind_Backtrace is not clearly defined in EHABI and needs more
testing. A bug was created with some initial investigation done
http://llvm.org/PR21444. This test fails with both libunwind and libgcc_s.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@221348 91177308-0d34-0410-b5e6-96231b3b80d8
Add support for UNSUPPORTED tag to lit

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@221460 91177308-0d34-0410-b5e6-96231b3b80d8
Move ARM failure from FIXME to XFAIL

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@221515 91177308-0d34-0410-b5e6-96231b3b80d8
Make sure only NEON enabled devices save/restore D16+ registers

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@221532 91177308-0d34-0410-b5e6-96231b3b80d8
Add -g -fno-omit-frame-pointer when compiling tests with sanitizers

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@222053 91177308-0d34-0410-b5e6-96231b3b80d8
[libcxxabi] Refactor CMakeLists.txt's handling of compile and link flags to suppress warnings.

Summary:
This patch mirrors the recent change to libc++ found here http://reviews.llvm.org/D6277.
This fixes PR20395 (http://llvm.org/bugs/show_bug.cgi?id=20395).

Reviewers: jroelofs, mclow.lists, danalbert

Reviewed By: danalbert

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D6286

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@222252 91177308-0d34-0410-b5e6-96231b3b80d8
Add support for LLVM_USE_SANITIZER=Thread to test suite

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@222260 91177308-0d34-0410-b5e6-96231b3b80d8
Remove accidentally commited line in commit. Sorry

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@222314 91177308-0d34-0410-b5e6-96231b3b80d8
[libcxxabi] Cleanup memory in tests to placate ASAN.

Summary: ASAN fires on these tests because they don't clean up their memory.

Reviewers: danalbert, jroelofs, mclow.lists

Reviewed By: jroelofs

Subscribers: dblaikie, cfe-commits

Differential Revision: http://reviews.llvm.org/D6281

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@222493 91177308-0d34-0410-b5e6-96231b3b80d8
Ensure llvm-sanitizer is found by the tests when using sanitizers.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@222496 91177308-0d34-0410-b5e6-96231b3b80d8
[libcxxabi] Delay adjustment of pointer to prevent referencing invalid memory.

Summary:
This patch delays the dereference adjustment until we are sure the thrown type is a pointer type. It is possible the thrown type is not a pointer and is smaller than `sizeof(void*)`. If the thrown type is is smaller than `sizeof(void*)` the deference adjustment will result in a heap buffer overflow.

I audited all the call sites of `can_catch(...)` and there are no places where `adjustedPtr` is used if `can_catch(...)` returns false. For this reason the patch should not introduce any functionality change.

This patch fixes the following tests when using ASAN:
* unwind_01.cpp
* unwind_02.cpp
* unwind_04.cpp



Reviewers: danalbert, jroelofs, mclow.lists

Reviewed By: mclow.lists

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D6353

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@222674 91177308-0d34-0410-b5e6-96231b3b80d8
[libcxxabi] Refactor test timing logic and disable by default.

Summary:
When using LIT the timing output is entirely unused but introduces a dependency on `<chrono>`. When libc++ is built without a montonic clock this causes some of the tests to fail.
This patch factors out all of the timing logic into `support/timer.hpp` and disables it by default. To enable the timing you must define `LIBCXXABI_TIME_TESTS`.



Reviewers: mclow.lists, danalbert, jroelofs

Reviewed By: jroelofs

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D6391

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@222701 91177308-0d34-0410-b5e6-96231b3b80d8
[libcxxabi] Refactor building and testing libc++abi without threads

Summary:
This patch adds CMake support for building and testing libc++abi without threads. 


1. Add `LIBCXXABI_ENABLE_THREADS` option to CMake.
2. Propagate `LIBCXXABI_ENABLE_THREADS` to lit via lit.site.cfg.in
3. Configure tests for `LIBCXXABI_ENABLE_THREADS=OFF

Currently the test suite does not work when libc++abi is built without threads because that information does not propagate to the test suite.



Reviewers: danalbert, mclow.lists, jroelofs

Reviewed By: jroelofs

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D6393

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@222702 91177308-0d34-0410-b5e6-96231b3b80d8
Use lit.util.executeCommand instead of our own version

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@222718 91177308-0d34-0410-b5e6-96231b3b80d8
Fix comment on end of #endif to match #if

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@222719 91177308-0d34-0410-b5e6-96231b3b80d8
Use the newer python syntax for exceptions

We've dropped support for python 2.5, so now we can use the forward
compatible "except ... as" syntax.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@224182 91177308-0d34-0410-b5e6-96231b3b80d8
[libcxxabi] Add __cxa_thread_atexit for TLS support on Linux.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@224477 91177308-0d34-0410-b5e6-96231b3b80d8
[libunwind] fix comment in compact_unwind_encoding.h

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@224656 91177308-0d34-0410-b5e6-96231b3b80d8
[libunwind] improve x86_64 comments in compact_unwind_encoding.h

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