llvm-project/libcxx
Louis Dionne e0184357fc [libc++] Link against libatomic when it is found
Before this patch, we tried detecting whether small atomics were available
without linking against libatomic. However, that's not really what we want
to know -- instead, we want to know what's required in order to support
atomics fully, which is to link against libatomic when it's provided.

That is both much simpler, and it doesn't suffer the problem that we would
not link against libatomic when small atomics didn't require it, which
lead to non-lockfree atomics never working.

Furthermore, because we understand that some platforms might not want to
(or be able to) ship non-lockfree atomics, we add that notion to the test
suite, independently of a potential extern library.

After this patch, we therefore:
(1) Link against libatomic when it is provided
(2) Independently detect whether non-lockfree atomics are supported in
    the test suite, regardless of whether that means we're linking against
    an external library or not (which is an implementation detail).

Differential Revision: https://reviews.llvm.org/D81190
2020-06-05 09:28:44 -04:00
..
benchmarks Revert "[libcxx] Enable C++17 for the benchmarks." 2020-03-12 22:23:46 +01:00
cmake [libc++] Link against libatomic when it is found 2020-06-05 09:28:44 -04:00
docs [libc++] Remove the c++98 Lit feature from the test suite 2020-06-03 09:37:22 -04:00
fuzzing [libc++] Tolerate NaN returning random distributions for now 2019-12-12 17:11:13 -05:00
include [libc++] Support move construction and assignment in <thread> in C++03 2020-06-03 12:16:27 -04:00
lib [libc++] Fix the no-exceptions build of libc++ on Apple 2020-04-20 10:45:14 -04:00
src [libc++] Mark __u64toa and __u32toa as noexcept 2020-05-22 16:11:44 -04:00
test [libc++] Link against libatomic when it is found 2020-06-05 09:28:44 -04:00
utils [libc++] Link against libatomic when it is found 2020-06-05 09:28:44 -04:00
www [libc++] [LWG3201] Update status page: lerp should be marked noexcept. 2020-05-25 22:28:21 +02:00
.clang-format
.gitignore [libcxx] Fix .gitignore to not exclude test directories 2020-03-25 17:52:23 -07:00
CMakeLists.txt [libc++] Link against libatomic when it is found 2020-06-05 09:28:44 -04:00
CREDITS.TXT [libcxx] Adds [concept.same] 2020-04-08 18:00:13 -04:00
LICENSE.TXT Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
NOTES.TXT Reland "Use custom command and target to install libc++ headers" 2018-06-12 03:10:02 +00:00
TODO.TXT
appveyor-reqs-install.cmd Attempt to upgrade compiler used by appveyor builds 2019-04-03 20:40:01 +00:00
appveyor.yml disable appveyor config for MSVC 2015 2019-04-03 20:36:51 +00:00