llvm-project/libcxx/include
Vasileios Kalintiris 8c58e92cd8 Add initial support for the MUSL C library.
Summary:
This patch adds the LIBCXX_LIBC_IS_MUSL cmake option to allow the
building of libcxx with the Musl C library. The option is necessary as
Musl does not provide any predefined macro in order to test for its
presence, like GLIBC. Most of the changes specify the correct path to
choose through the various #if/#else constructs in the locale code.

Depends on D13407.

Reviewers: mclow.lists, jroelofs, EricWF

Subscribers: jfb, tberghammer, danalbert, srhines, cfe-commits

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

llvm-svn: 252457
2015-11-09 10:21:04 +00:00
..
experimental Fix initialzation order in dynarray 2015-10-01 07:29:38 +00:00
ext Fix warnings about pessimizing return moves for C++11 and higher 2015-08-19 06:43:33 +00:00
support Add initial support for the MUSL C library. 2015-11-09 10:21:04 +00:00
CMakeLists.txt [libcxx] Capture configuration information when installing the libc++ headers 2015-10-13 22:12:02 +00:00
__bit_reference Get tests running with warnings. Fix warnings in headers and tests 2015-02-05 20:28:37 +00:00
__config Add initial support for the MUSL C library. 2015-11-09 10:21:04 +00:00
__config_site.in Add initial support for the MUSL C library. 2015-11-09 10:21:04 +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 [libcxx] Rewrite C++03 __invoke. 2015-08-26 20:15:02 +00:00
__functional_base_03 [libcxx] Rewrite C++03 __invoke. 2015-08-26 20:15:02 +00:00
__hash_table Cleanup: move visibility/linkage attributes to the first declaration. 2015-11-07 01:22:13 +00:00
__locale Add initial support for the MUSL C library. 2015-11-09 10:21:04 +00:00
__mutex_base Cleanup: move visibility/linkage attributes to the first declaration. 2015-11-07 01:22:13 +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
__tree Fix warnings about pessimizing return moves for C++11 and higher 2015-08-19 06:43:33 +00:00
__tuple Move __lazy_* metafunctions to type traits and add tests 2015-08-31 03:50:31 +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 Make reverse() call iter_swap like the standard says, instead of calling swap directly. No real change. 2015-11-02 21:34:25 +00:00
array [libcxx] Move tuple_size and tuple_element overloads for pair and array out of !defined(_LIBCPP_HAS_NO_VARIADICS) block. 2015-03-17 15:08:03 +00:00
atomic Fix GCC atomic implementation in C++03 2015-10-14 08:36:22 +00:00
bitset Cleanup: move visibility/linkage attributes to the first declaration. 2015-11-07 01:22:13 +00:00
cassert
ccomplex
cctype Split <ctype.h> out of <cctype>. 2015-10-08 20:36:30 +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 Implement P0092R1 for C++1z 2015-11-05 19:33:59 +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 Split <math.h> out of <cmath>. 2015-10-08 20:40:34 +00:00
codecvt Update synopsis in <locale> to match LWG Issue 2229. No code change 2013-08-27 14:22:13 +00:00
complex Implement literal suffixes for compled 2013-10-05 21:19:49 +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 Revert r249929 ("Split <string.h> out of <cstring>"). 2015-10-29 23:32:29 +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 Unrevert r249889, and XFAIL the test for Darwin, where the libc apparently doesn't provide a correct overload set for some functions. 2015-10-10 01:39:51 +00:00
cwctype Split <wctype.h> out of <cwctype>. 2015-10-09 19:57:37 +00:00
deque Cleanup: move visibility/linkage attributes to the first declaration. 2015-11-07 01:22:13 +00:00
errno.h Cleanup foo.h headers and __config to work in C 2015-11-06 06:30:12 +00:00
exception [libcxx] Fix detection of __is_final. 2015-06-13 07:08:02 +00:00
float.h Cleanup foo.h headers and __config to work in C 2015-11-06 06:30:12 +00:00
forward_list Implement the first part of N4258: 'Cleaning up noexcept in the Library'. This patch deals with swapping containers, and implements a more strict noexcept specification (a conforming extension) than the standard mandates. 2015-07-13 20:04:56 +00:00
fstream Add option to disable access to the global filesystem namespace. 2015-03-12 15:44:39 +00:00
functional Fix LWG#2489: mem_fn() should be noexcept 2015-10-25 20:12:16 +00:00
future Cleanup: move visibility/linkage attributes to the first declaration. 2015-11-07 01:22:13 +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 Implement P0004R1 'Remove Deprecated iostreams aliases' 2015-10-29 05:43:30 +00:00
iosfwd Revert: Revert r227804: Use fseek/ftell instead of fseeko/ftello when Newlib is the libc 2015-02-03 15:34:17 +00:00
iostream Make the presence of stdin and stdout optional. 2015-03-26 14:35:46 +00:00
istream Fix LWG#2244: basic_istream::seekg 2015-10-25 18:31:51 +00:00
iterator Implement LWG#2353: std::next is over-constrained 2015-11-07 17:48:49 +00:00
limits libc++: integral types trap on PNaCl 2014-11-26 17:51:58 +00:00
list Recommit rL245802: Cleanup fancy pointer rebinding in list using __rebind_pointer. 2015-08-23 02:56:05 +00:00
locale Cleanup: move visibility/linkage attributes to the first declaration. 2015-11-07 01:22:13 +00:00
map Fix warnings about pessimizing return moves for C++11 and higher 2015-08-19 06:43:33 +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 Cleanup: move visibility/linkage attributes to the first declaration. 2015-11-07 01:22: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 Do not include pthread.h and sched.h when threads are disabled 2015-08-27 17:47:34 +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 Make seeking on an ostream that has eofbit set work correctly. Fixes PR#21361 2015-06-22 15:01:21 +00:00
queue Move the default template arguments into the forward declarations for the container adapters: stack and queue. References PR#22605. 2015-02-18 17:51:56 +00:00
random Cleanup: move visibility/linkage attributes to the first declaration. 2015-11-07 01:22:13 +00:00
ratio Fix building and testing libc++ with GCC. 2015-05-20 03:15:01 +00:00
regex Cleanup: move visibility/linkage attributes to the first declaration. 2015-11-07 01:22:13 +00:00
scoped_allocator Fix LWG#2476: scoped_allocator_adaptor is not assignable 2015-10-25 19:52:47 +00:00
set Fix for LWG Issue 2059: C++0x ambiguity problem with map::erase 2015-05-10 13:35:00 +00:00
setjmp.h Cleanup foo.h headers and __config to work in C 2015-11-06 06:30:12 +00:00
shared_mutex Implement N4508: shared_mutex. Reviewed as http://reviews.llvm.org/D10480 2015-06-30 14:04:14 +00:00
sstream Fix a bug in the move-assigment operator for basic_stringbuf. Thanks to Johnathan Wakeley for the bug report 2014-09-16 18:57:52 +00:00
stack Move the default template arguments into the forward declarations for the container adapters: stack and queue. References PR#22605. 2015-02-18 17:51:56 +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 unused private field warning in stdexcept after r207695. 2015-02-05 07:40:48 +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 Make basic_streambuf::xsputn write characters in chunks whenever possible, instead of one at a time. References PR#10193 2015-02-19 16:17:46 +00:00
string Cleanup: move visibility/linkage attributes to the first declaration. 2015-11-07 01:22:13 +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 Cleanup: move visibility/linkage attributes to the first declaration. 2015-11-07 01:22:13 +00:00
tuple [libcxx] Fix detection of __is_final. 2015-06-13 07:08:02 +00:00
type_traits More of P0006R0: type traits variable aliases for C++17. 2015-11-07 17:44:36 +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 Fix warnings about pessimizing return moves for C++11 and higher 2015-08-19 06:43:33 +00:00
unordered_set Implement the first part of N4258: 'Cleaning up noexcept in the Library'. This patch deals with swapping containers, and implements a more strict noexcept specification (a conforming extension) than the standard mandates. 2015-07-13 20:04:56 +00:00
utility Change pair::swap(pair&) to call ADL swap instead of iter_swap; this fixes an obscure bug having to do with overloaded operator&. Fixes PR#24890 2015-09-22 17:50:11 +00:00
valarray Cleanup: move visibility/linkage attributes to the first declaration. 2015-11-07 01:22:13 +00:00
vector Cleanup: move visibility/linkage attributes to the first declaration. 2015-11-07 01:22:13 +00:00
wchar.h Unrevert r249889, and XFAIL the test for Darwin, where the libc apparently doesn't provide a correct overload set for some functions. 2015-10-10 01:39:51 +00:00
wctype.h Split <wctype.h> out of <cwctype>. 2015-10-09 19:57:37 +00:00