llvm-project/libcxx/include
Ben Craig b9599b1b23 [libcxx] Allow explicit pthread opt-in
The existing pthread detection code in __config is pretty good for
common operating systems. It doesn't allow cmake-time choices to be
made for uncommon operating systems though.

This change adds the LIBCXX_HAS_PTHREAD_API cmake flag, which turns
into the _LIBCPP_HAS_THREAD_API_PTHREAD preprocessor define. This is
a name change from the old _LIBCPP_THREAD_API_PTHREAD. The lit tests
want __config_site.in variables to have a _LIBCPP_HAS prefix.

http://reviews.llvm.org/D20573

llvm-svn: 270735
2016-05-25 17:40:09 +00:00
..
experimental Add experimental container alias templates for PMRs 2016-05-07 03:09:55 +00:00
ext Cleanup: move visibility/linkage attributes to the first declaration. 2016-04-22 01:04:55 +00:00
support Reorganize locale extension fallbacks. NFCI 2016-05-20 12:58:41 +00:00
CMakeLists.txt [CMake] Fix a copy-paste error 2016-05-03 16:54:20 +00:00
__bit_reference Get tests running with warnings. Fix warnings in headers and tests 2015-02-05 20:28:37 +00:00
__bsd_locale_defaults.h Reorganize _LIBCPP_LOCALE__L_EXTENSIONS 2016-03-09 15:39:39 +00:00
__bsd_locale_fallbacks.h Reorganize _LIBCPP_LOCALE__L_EXTENSIONS 2016-03-09 15:39:39 +00:00
__config [libcxx] Allow explicit pthread opt-in 2016-05-25 17:40:09 +00:00
__config_site.in [libcxx] Allow explicit pthread opt-in 2016-05-25 17:40:09 +00:00
__debug Print log/error messages on stderr, not stdout 2015-03-10 07:57:43 +00:00
__functional_03 [libcxx] Fix PR23589: std::function doesn't recognize null pointer to varargs function. 2015-08-18 19:41:51 +00:00
__functional_base Fix most GCC attribute ignored warnings 2016-04-21 22:54:21 +00:00
__functional_base_03 [libcxx] Rewrite C++03 __invoke. 2015-08-26 20:15:02 +00:00
__hash_table Teach map/unordered_map how to optimize 'emplace(Key, T)'. 2016-04-16 00:23:12 +00:00
__locale Use libcxx's default rune table with the Musl C library. 2015-11-24 10:24:54 +00:00
__mutex_base Refactor pthread usage of libcxx. 2016-05-06 14:06:29 +00:00
__nullptr Factor definition of std::nullptr_t out of <cstddef> into a header that can also be used by <stddef.h>. 2015-10-08 20:34:11 +00:00
__refstring Fix some -Wundef issues. 2015-02-05 02:34:59 +00:00
__split_buffer Cleanup: move visibility/linkage attributes to the first declaration. 2015-11-07 01:22:13 +00:00
__sso_allocator Handle function name conflicts in _LIBCPP_MSVCRT mode 2015-02-13 22:15:32 +00:00
__std_stream Enable and fix warnings during the build. 2015-07-18 20:40:46 +00:00
__threading_support [libcxx] Allow explicit pthread opt-in 2016-05-25 17:40:09 +00:00
__tree Teach map/unordered_map how to optimize 'emplace(Key, T)'. 2016-04-16 00:23:12 +00:00
__tuple Extract key to avoid preemptive mallocs in insert/emplace in associative containers 2016-04-15 23:27:27 +00:00
__undef___deallocate Handle function name conflicts in _LIBCPP_MSVCRT mode 2015-02-13 22:15:32 +00:00
__undef_min_max Fix-it suggestion for fixing min or max defines on Windows. 2013-11-15 23:41:01 +00:00
algorithm Add is_swappable/is_nothrow_swappable traits 2016-04-21 23:38:59 +00:00
array Add is_swappable/is_nothrow_swappable traits 2016-04-21 23:38:59 +00:00
atomic [libcxx] [test] Replace non-Standard "atomic_flag f(false);" with Standard "atomic_flag f;" 2016-05-03 02:12:26 +00:00
bitset Fix most GCC attribute ignored warnings 2016-04-21 22:54:21 +00:00
cassert
ccomplex
cctype Put back the undefs that Richard removed. Boost won't build w/o these; specifically the file 'bytes_methods.h' in Apple's python framework defines these. 2016-04-04 22:49:20 +00:00
cerrno Split <errno.h> out of <cerrno>. 2015-10-08 20:37:11 +00:00
cfenv Fix incorrect file header. This is <cfenv> not <cctype>. 2015-10-08 21:17:21 +00:00
cfloat Split <float.h> out of <cfloat>. 2015-10-08 20:37:44 +00:00
chrono Last bit of P0006; mark it as complete 2015-11-30 05:39:30 +00:00
cinttypes Split <inttypes.h> out of <cinttypes>. 2015-10-08 20:38:53 +00:00
ciso646
climits
clocale Make support for thread-unsafe C functions optional. 2015-06-24 08:44:38 +00:00
cmath Implement P0030R1: Introduce a 3-Argument Overload to std::hypot 2016-05-17 14:52:19 +00:00
codecvt Update synopsis in <locale> to match LWG Issue 2229. No code change 2013-08-27 14:22:13 +00:00
complex Cleanup: move visibility/linkage attributes to the first declaration. 2016-04-22 01:04:55 +00:00
complex.h PR25118: move system_header pragma before uses of include_next to avoid extension warnings for people finding libc++ headers via -I paths. 2015-10-09 00:26:50 +00:00
condition_variable Cleanup: move visibility/linkage attributes to the first declaration. 2015-11-07 01:22:13 +00:00
csetjmp Split <setjmp.h> out of <csetjmp>. 2015-10-08 20:41:26 +00:00
csignal
cstdarg
cstdbool
cstddef PR25118: move system_header pragma before uses of include_next to avoid extension warnings for people finding libc++ headers via -I paths. 2015-10-09 00:26:50 +00:00
cstdint
cstdio Split <stdio.h> out of <cstdio>. 2015-10-09 01:29:09 +00:00
cstdlib Split <stdlib.h> out of <cstdlib>. 2015-10-09 01:41:45 +00:00
cstring Fix overload sets of strchr, strpbrk, strrchr, memchr and strstr from 2016-02-10 00:59:02 +00:00
ctgmath
ctime Make support for thread-unsafe C functions optional. 2015-06-24 08:44:38 +00:00
ctype.h PR25118: move system_header pragma before uses of include_next to avoid extension warnings for people finding libc++ headers via -I paths. 2015-10-09 00:26:50 +00:00
cwchar Fix overload sets of strchr, strpbrk, strrchr, memchr and strstr from 2016-02-10 00:59:02 +00:00
cwctype Split <wctype.h> out of <cwctype>. 2015-10-09 19:57:37 +00:00
deque Add static_assert to set/multiset/map/multimap/forward_list/deque that the allocator's value_type match the container's value_type. vector/unordered/list/string already do this. Add tests for all the containers to verify this. 2015-11-26 01:24:04 +00:00
errno.h Cleanup foo.h headers and __config to work in C 2015-11-06 06:30:12 +00:00
exception Fix typo it _LIBCPP_NO_EXCEPTIONS macro 2016-05-07 02:30:21 +00:00
float.h Cleanup foo.h headers and __config to work in C 2015-11-06 06:30:12 +00:00
forward_list Cleanup: move visibility/linkage attributes to the first declaration. 2016-04-22 01:04:55 +00:00
fstream Cleanup: move visibility/linkage attributes to the first declaration. 2016-04-22 01:04:55 +00:00
functional Add hash specializations for __int128_t. Fixes LWG issue 2119 2016-04-18 02:54:00 +00:00
future Add a couple of _LIBCPP_ASSERT calls. No functional change. 2016-05-16 16:55:32 +00:00
initializer_list Apply constexpr to initializer_list for c++1y. 2013-08-26 20:11:32 +00:00
inttypes.h Cleanup foo.h headers and __config to work in C 2015-11-06 06:30:12 +00:00
iomanip Implement LWG #2344: quoted()'s interaction with padding is unclear. I think that anyone using quoted with padding is really confused, but it should work the way the rest of iostreams works. 2014-03-07 21:45:32 +00:00
ios Make ios_base::failure visibility specified consistent 2016-04-21 23:00:33 +00:00
iosfwd Make __wrap_iter work with GCC again 2016-02-20 00:19:45 +00:00
iostream Make the presence of stdin and stdout optional. 2015-03-26 14:35:46 +00:00
istream Revert "Remove visibility attributes from out-of-class method definitions in iostreams." 2016-01-08 19:21:02 +00:00
iterator Implement LWG2576: istream_iterator and ostream_iterator should use std::addressof 2016-05-17 17:44:40 +00:00
limits [WebAssembly] Set std::numeric_limits's traps field for WebAssembly. 2016-01-13 16:32:00 +00:00
list Cleanup: move visibility/linkage attributes to the first declaration. 2016-04-22 01:04:55 +00:00
locale Fix PR21428 for long. Buffer was one byte too small in octal formatting case. Rename previously added test 2016-04-29 07:23:20 +00:00
map Add is_swappable/is_nothrow_swappable traits 2016-04-21 23:38:59 +00:00
math.h PR25118: move system_header pragma before uses of include_next to avoid extension warnings for people finding libc++ headers via -I paths. 2015-10-09 00:26:50 +00:00
memory Change the control flow in atomic_compare_exchange_strong to avoid a potential deadlock. 2016-05-18 17:50:13 +00:00
module.modulemap Remove __config module to avoid #include cycle when libc headers include libc++'s <foo.h> headers. 2015-10-13 22:13:33 +00:00
mutex Refactor pthread usage of libcxx. 2016-05-06 14:06:29 +00:00
new [libcxx] Rework sized delete. 2015-05-19 02:03:22 +00:00
numeric [libcxx] Fix use of operator comma where the types can be user defined 2014-10-27 19:28:20 +00:00
ostream Revert "Remove visibility attributes from out-of-class method definitions in iostreams." 2016-01-08 19:21:02 +00:00
queue Cleanup: move visibility/linkage attributes to the first declaration. 2016-04-22 01:04:55 +00:00
random Cleanup: move visibility/linkage attributes to the first declaration. 2015-11-07 01:22:13 +00:00
ratio Missing file from last commit 2015-11-30 05:04:48 +00:00
regex [libcxx] Fix definition of regex_traits::__regex_word on big-endian glibc systems 2016-02-17 13:16:31 +00:00
scoped_allocator Fix LWG#2476: scoped_allocator_adaptor is not assignable 2015-10-25 19:52:47 +00:00
set Add static_assert to set/multiset/map/multimap/forward_list/deque that the allocator's value_type match the container's value_type. vector/unordered/list/string already do this. Add tests for all the containers to verify this. 2015-11-26 01:24:04 +00:00
setjmp.h Cleanup foo.h headers and __config to work in C 2015-11-06 06:30:12 +00:00
shared_mutex Qualify calls to addressof to avoid getting ADL. Fixes PR#27254. 2016-04-13 17:02:23 +00:00
sstream Revert "Remove visibility attributes from out-of-class method definitions in iostreams." 2016-01-08 19:21:02 +00:00
stack Add is_swappable/is_nothrow_swappable traits 2016-04-21 23:38:59 +00:00
stdbool.h Add stdbool.h wrapper for libc++ 2016-02-20 00:16:41 +00:00
stddef.h PR25118: move system_header pragma before uses of include_next to avoid extension warnings for people finding libc++ headers via -I paths. 2015-10-09 00:26:50 +00:00
stdexcept Fix most GCC attribute ignored warnings 2016-04-21 22:54:21 +00:00
stdio.h Split <stdio.h> out of <cstdio>. 2015-10-09 01:29:09 +00:00
stdlib.h Cleanup foo.h headers and __config to work in C 2015-11-06 06:30:12 +00:00
streambuf Revert "Remove visibility attributes from out-of-class method definitions in iostreams." 2016-01-08 19:21:02 +00:00
string Fix most GCC attribute ignored warnings 2016-04-21 22:54:21 +00:00
string.h Instead of asking glibc to provide correct C++ signatures for <string.h> 2016-02-11 23:51:02 +00:00
strstream No functionality change at this time. I've split _LIBCPP_VISIBLE up into two flags: _LIBCPP_TYPE_VIS and _LIBCPP_FUNC_VIS. This is in preparation for taking advantage of clang's new __type_visibility__ attribute. 2013-03-06 23:30:19 +00:00
system_error Fix most GCC warnings during build. Only -Wattribute left. 2015-08-28 07:02:42 +00:00
tgmath.h
thread Refactor pthread usage of libcxx. 2016-05-06 14:06:29 +00:00
tuple Make tuples constructors conditionally EXPLICIT. See N4387 2016-04-19 01:19:25 +00:00
type_traits Cleanup superfluous std:: qualifiers in <type_traits> 2016-05-18 23:09:24 +00:00
typeindex Nico Rieck: this patch series fixes visibility issues on Windows as explained in <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html>. 2013-08-12 18:38:34 +00:00
typeinfo RTTI Uniqueness: remove __name_for_load function. 2014-04-03 09:12:38 +00:00
unordered_map Cleanup: move visibility/linkage attributes to the first declaration. 2016-04-22 01:04:55 +00:00
unordered_set Cleanup: move visibility/linkage attributes to the first declaration. 2016-04-22 01:04:55 +00:00
utility Add is_swappable/is_nothrow_swappable traits 2016-04-21 23:38:59 +00:00
valarray Mark declarations of externally instantiated functions as inline so GCC doesn't complain. 2015-12-15 01:41:41 +00:00
vector Fix bug #27260 - add missing swap(reference, reference) to vector<bool>. 2016-04-07 14:20:31 +00:00
wchar.h Fix overload sets of strchr, strpbrk, strrchr, memchr and strstr from 2016-02-10 00:59:02 +00:00
wctype.h Split <wctype.h> out of <cwctype>. 2015-10-09 19:57:37 +00:00