• Home
  • History
  • Annotate
  • only in /external/libcxx/test/atomics/
History log of /external/libcxx/test/atomics/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6f56ab789cb470620554d624c37f488285b3b04e 06-May-2014 Dan Albert <danalbert@google.com> Adds a basic test wrapper for Android

To run libc++ tests:
$ mm
$ adb sync
$ python runtests.py # runs all host and device tests
# see main() for command line options

To regenerate all makefiles:
$ python makemake.py

Change-Id: Ibad78ad8e1bd45f32730d281afa53c2cec55478f
ndroid.mk
tomics.fences/Android.mk
tomics.flag/Android.mk
tomics.general/Android.mk
tomics.lockfree/Android.mk
tomics.order/Android.mk
tomics.syn/Android.mk
tomics.types.generic/Android.mk
tomics.types.operations/Android.mk
tomics.types.operations/atomics.types.operations.arith/Android.mk
tomics.types.operations/atomics.types.operations.general/Android.mk
tomics.types.operations/atomics.types.operations.pointer/Android.mk
tomics.types.operations/atomics.types.operations.req/Android.mk
tomics.types.operations/atomics.types.operations.templ/Android.mk
74f4da7219100afcff4baab33d12910d29eb127e 02-May-2013 Howard Hinnant <hhinnant@apple.com> Stephan Tolksdorf: fixes the issue in the <atomic> header and adds corresponding tests. I've used macros to fall back to a user-provided default constructor if _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS (though I suspect that there won't be many users defining that macro).

The tests use placement new to check that atomic values get properly zero-initialized. I had to modify the atomic_is_lock_free test, because default initialization of an object of const type 'const A' (aka 'const atomic<int>') requires a user-provided default constructor.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@180945 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.flag/default.pass.cpp
tomics.types.generic/address.pass.cpp
tomics.types.generic/bool.pass.cpp
tomics.types.generic/integral.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
6ae47055f958b95e1ab941b5209d6f6b91c3aed1 04-Jan-2013 Howard Hinnant <hhinnant@apple.com> atomic_bool was missing (just a typedef to atomic<bool>).

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@171498 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.types.generic/bool.pass.cpp
9efdc0bd5f22b3d6815862ddb14dbd4aed5042f0 19-Apr-2012 Richard Smith <richard-llvm@metafoo.co.uk> libc++: Add some missing #includes to atomics tests. libc++ doesn't need these
at the moment, but they allow these tests to be used to test clang against
libstdc++. Add myself to the credits file, as suggested by Howard.


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@155085 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.types.generic/address.pass.cpp
tomics.types.generic/cstdint_typedefs.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_fetch_and.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_fetch_and_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_fetch_or.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_fetch_or_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_fetch_xor.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_fetch_xor_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_var_init.pass.cpp
d3eca759a2ce3125613fb840287c77ee1f372b10 05-Apr-2012 David Chisnall <csdavec@swan.ac.uk> Fix the remaining atomic tests, all of which were wrong for the case where a
compare-and-exchange failed (it should update the expected value to the current
value, and the tests were checking that it didn't...).

Results of the atomics part of the test suite on FreeBSD with clang trunk and
the atomic.c from compiler-rt (currently kludged into the test, not installed
properly):

****************************************************
Results for /root/libc++/test/atomics:
using clang version 3.1 (trunk 153415)
Target: x86_64-unknown-freebsd10.0
Thread model: posix
with -std=c++0x -stdlib=libc++ -pthread /tmp/atomic.o
----------------------------------------------------
sections without tests : 0
sections with failures : 0
sections without failures: 14
+ ----
total number of sections : 14
----------------------------------------------------
number of tests failed : 0
number of tests passed : 52
+ ----
total number of tests : 52
****************************************************

Yay!



git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@154095 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.types.generic/address.pass.cpp
tomics.types.generic/bool.pass.cpp
tomics.types.generic/integral.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
1ee87fa41a6132b2af54fbb340e86d33b316f168 05-Apr-2012 David Chisnall <csdavec@swan.ac.uk> Fix test cases that were trying to make atomic things that are not trivially copyable.

Now all of the test cases compile. Some of them even run!



git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@154094 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp
770d1c4ea75402457c5ed3895b5ec044defce01c 08-Dec-2010 Howard Hinnant <hhinnant@apple.com> After a long break to wait for the atomic spec to settle, this completes the library part of <atomic>. It currently won't even parse as it depends on the existence of the intrinsics specified at http://libcxx.llvm.org/atomic_design_a.html. Everything has been tested using fake intrinsics which have now been removed. As the intrinsics come online, the ATOMIC_* macros will need to be adjusted to reflect which operations are lock-free. These macros will probably need to be #ifdef'd for each supported platform.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@121267 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.fences/atomic_signal_fence.pass.cpp
tomics.fences/atomic_thread_fence.pass.cpp
tomics.lockfree/lockfree.pass.cpp
tomics.types.generic/cstdint_typedefs.pass.cpp
tomics.types.generic/integral_typedefs.pass.cpp
tomics.types.operations/atomics.types.operations.arith/nothing_to_do.pass.cpp
tomics.types.operations/atomics.types.operations.general/nothing_to_do.pass.cpp
tomics.types.operations/atomics.types.operations.pointer/nothing_to_do.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_var_init.pass.cpp
tomics.types.operations/atomics.types.operations.templ/nothing_to_do.pass.cpp
tomics.types.operations/nothing_to_do.pass.cpp
f02417b600ee58299effa60b5ffd9d58b8bc3129 08-Dec-2010 Howard Hinnant <hhinnant@apple.com> atomics ...

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@121202 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.types.generic/address.pass.cpp
tomics.types.generic/atomics.types.address/address.pass.cpp
tomics.types.generic/atomics.types.integral/bool.pass.cpp
tomics.types.generic/atomics.types.integral/integral.pass.cpp
tomics.types.generic/bool.pass.cpp
tomics.types.generic/integral.pass.cpp
tomics.types.generic/nothing_to_do.pass.cpp
91e2f26fec72dfbd0cc39d5e5e8e7c0c25b6e155 07-Dec-2010 Howard Hinnant <hhinnant@apple.com> Work on <atomic> continues. The file size is actually sane now...

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@121181 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_fetch_and.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_fetch_and_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_fetch_or.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_fetch_or_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_fetch_xor.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_fetch_xor_explicit.pass.cpp
4777bf2799c59a847691094ae2c43df986ab55ce 07-Dec-2010 Howard Hinnant <hhinnant@apple.com> Getting <atomic> warmed back up. We have a hopefully more stable spec now. And I believe the intrinsic spec at http://libcxx.llvm.org/atomic_design_a.html is still good.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@121064 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp
tomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp
afff5aacd637ee3d228a59f49156785672b200b8 23-Nov-2010 Howard Hinnant <hhinnant@apple.com> Update testsuite strucuture to latest draft

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@120045 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.generic/atomics.types.address/address.pass.cpp
tomics.generic/atomics.types.integral/bool.pass.cpp
tomics.generic/atomics.types.integral/integral.pass.cpp
tomics.generic/nothing_to_do.pass.cpp
17c3a8104822a4ff5f0459440e678195975f3321 23-Nov-2010 Howard Hinnant <hhinnant@apple.com> Update testsuite strucuture to latest draft

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@120043 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.types.generic/atomics.types.address/address.pass.cpp
tomics.types.generic/atomics.types.integral/bool.pass.cpp
tomics.types.generic/atomics.types.integral/integral.pass.cpp
tomics.types.generic/nothing_to_do.pass.cpp
6587dfe980eab8c9c74eab096c0f56dd31f13375 23-Nov-2010 Howard Hinnant <hhinnant@apple.com> Update testsuite strucuture to latest draft

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@120040 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.generic/atomics.types.address/address.pass.cpp
tomics.generic/atomics.types.integral/bool.pass.cpp
tomics.generic/atomics.types.integral/integral.pass.cpp
tomics.generic/nothing_to_do.pass.cpp
tomics.types/atomics.types.address/address.pass.cpp
tomics.types/atomics.types.integral/bool.pass.cpp
tomics.types/atomics.types.integral/integral.pass.cpp
tomics.types/nothing_to_do.pass.cpp
b64f8b07c104c6cc986570ac8ee0ed16a9f23976 16-Nov-2010 Howard Hinnant <hhinnant@apple.com> license change

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119395 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.flag/atomic_flag_clear.pass.cpp
tomics.flag/atomic_flag_clear_explicit.pass.cpp
tomics.flag/atomic_flag_test_and_set.pass.cpp
tomics.flag/atomic_flag_test_and_set_explicit.pass.cpp
tomics.flag/clear.pass.cpp
tomics.flag/copy_assign.fail.cpp
tomics.flag/copy_ctor.fail.cpp
tomics.flag/copy_volatile_assign.fail.cpp
tomics.flag/default.pass.cpp
tomics.flag/init.pass.cpp
tomics.flag/test_and_set.pass.cpp
tomics.general/nothing_to_do.pass.cpp
tomics.order/kill_dependency.pass.cpp
tomics.order/memory_order.pass.cpp
tomics.syn/nothing_to_do.pass.cpp
tomics.types/atomics.types.address/address.pass.cpp
tomics.types/atomics.types.integral/bool.pass.cpp
tomics.types/atomics.types.integral/integral.pass.cpp
tomics.types/nothing_to_do.pass.cpp
ersion.pass.cpp
bce9c3132d75041bcc1e693fd2cc25a13cc497d6 21-Oct-2010 Howard Hinnant <hhinnant@apple.com> [atomics.types.address]

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@117033 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.types/atomics.types.address/address.pass.cpp
5bbe97ddaad68812802c6b514e13ce44c1e5174e 19-Oct-2010 Howard Hinnant <hhinnant@apple.com> atomic_schar, atomic_uchar, atomic_short, atomic_ushort, atomic_int, atomic_uint, atomic_long, atomic_ulong, atomic_llong, atomic_ullong, atomic_char16_t, atomic_char32_t and atomic_wchar_t.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@116860 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.types/atomics.types.integral/integral.pass.cpp
e738501eb32ba925b87b51e5571bfccf48a1f728 19-Oct-2010 Howard Hinnant <hhinnant@apple.com> atomic_char

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@116813 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.types/atomics.types.integral/bool.pass.cpp
tomics.types/atomics.types.integral/integral.pass.cpp
611fdaf2290948d7359836520802b4ce8dfad0e1 04-Oct-2010 Howard Hinnant <hhinnant@apple.com> Still working on the basic design of <atomic>. I'm working towards a system by which the compiler only needs to define the strongest intrinsics it can. Weaker atomics in the library automatically try stronger and stronger variants, picking the weakest compiler intrinsic available. If no compiler intrinsics are available for a given operation, the library locks a mutex and does the job. Better documentation to follow...

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115538 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.flag/atomic_flag_clear_explicit.pass.cpp
tomics.flag/clear.pass.cpp
79101aec3ad3070ad1378ca1450b72edf8ed67da 30-Sep-2010 Howard Hinnant <hhinnant@apple.com> [atomics.flag] completed. Initialization is not working on clang and can't be made to work without defaulted default constructors.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115207 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.flag/atomic_flag_clear.pass.cpp
tomics.flag/atomic_flag_clear_explicit.pass.cpp
tomics.flag/atomic_flag_test_and_set.pass.cpp
tomics.flag/atomic_flag_test_and_set_explicit.pass.cpp
tomics.flag/clear.pass.cpp
tomics.flag/copy_assign.fail.cpp
tomics.flag/copy_ctor.fail.cpp
tomics.flag/copy_volatile_assign.fail.cpp
tomics.flag/default.pass.cpp
tomics.flag/init.pass.cpp
tomics.flag/test_and_set.pass.cpp
767ae2b483cad62b360a9ce55348d20fdfd5770a 29-Sep-2010 Howard Hinnant <hhinnant@apple.com> Contemplating this <atomic> reorganization...

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115087 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.flag/test_and_set.pass.cpp
c260b063667d18cc6b66080149745202fe69dad0 29-Sep-2010 Howard Hinnant <hhinnant@apple.com> Didn't mean to commit that one

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115058 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.flag/test_and_set.pass.s
ed760f40b7a6eb817f3804ccf052c7641bea155c 29-Sep-2010 Howard Hinnant <hhinnant@apple.com> Wrestling with the slowly dawning realization that <atomic> isn't implementable on any compiler at my disposal...

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115054 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.flag/test_and_set.pass.cpp
tomics.flag/test_and_set.pass.s
tomics.types/nothing_to_do.pass.cpp
0ce02245a96edc9d1b2d60653fc06e9941e6fd2a 28-Sep-2010 Howard Hinnant <hhinnant@apple.com> fixing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114967 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.general/nothing_to_do.pass.cpp
tomics.syn/nothing_to_do.pass.cpp
d1176e29b01bebab9ca1b35bc9d457a4730cf84b 28-Sep-2010 Howard Hinnant <hhinnant@apple.com> [atomics.order]

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114966 91177308-0d34-0410-b5e6-96231b3b80d8
tomics.general/nothing_to_do.pass.cpp
tomics.order/kill_dependency.pass.cpp
tomics.order/memory_order.pass.cpp
tomics.syn/nothing_to_do.pass.cpp
8f73c63658091e6d6bdf3770307b778496eabdbd 27-Sep-2010 Howard Hinnant <hhinnant@apple.com> Getting started on <atomic>

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114887 91177308-0d34-0410-b5e6-96231b3b80d8
ersion.pass.cpp