llvm-project/libcxx/include
JF Bastien e9401f61c2 libc++: support newlib's ctype
Summary: Newlib supports ctype differently from other platforms, this patch teaches libc++ about yet another platform that does ctype differently.

Reviewers: jroelofs

Subscribers: cfe-commits, danalbert, EricWF, jvoung, jfb, mclow.lists

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

llvm-svn: 230557
2015-02-25 22:16:46 +00:00
..
experimental Change string_view::at to make it work with gcc and VC++. Thanks to K-ballo for the bug report, and Jonathan Wakeley for the code review in the bar. 2015-02-23 21:12:02 +00:00
ext Do not derive __gnu_cxx::hash<T> from std::hash<T>. 2014-03-06 04:11:10 +00:00
support Get libc++ building on Sun Solaris. Patch from C Bergstrom. 2015-01-23 22:22:36 +00:00
CMakeLists.txt Add option to turn off installation of headers. 2014-12-12 22:52:58 +00:00
__bit_reference Get tests running with warnings. Fix warnings in headers and tests 2015-02-05 20:28:37 +00:00
__config Fix unused private field warning in stdexcept after r207695. 2015-02-05 07:40:48 +00:00
__debug NFC. Move definition of _LIBCPP_ASSERT into __debug header and remove external include guards. 2014-08-10 23:53:08 +00:00
__functional_03 [libcxx] Fix PR 22468 - std::function<void()> does not accept non-void-returning functions 2015-02-10 16:48:45 +00:00
__functional_base Add trailing return types (and noexcept specifications) to the 'diamond operators'. Fixes PR#22600. 2015-02-25 12:20:52 +00:00
__functional_base_03 [libcxx] Fix PR 22468 - std::function<void()> does not accept non-void-returning functions 2015-02-10 16:48:45 +00:00
__hash_table Remove several unused forward declarations. Fixes PR22605. 2015-02-18 19:28:35 +00:00
__locale libc++: support newlib's ctype 2015-02-25 22:16:46 +00:00
__mutex_base Allow libc++ to be built on systems without POSIX threads 2014-09-05 19:45:05 +00:00
__refstring Fix some -Wundef issues. 2015-02-05 02:34:59 +00:00
__split_buffer G M: Changes all references to "x inline" to "inline x" where x = _libcpp_always_inline or _libcpp_inline_visibility macros. 2013-10-04 22:09:00 +00:00
__sso_allocator Handle function name conflicts in _LIBCPP_MSVCRT mode 2015-02-13 22:15:32 +00:00
__std_stream Partial implementation of N3665. This paper was not voted into the C++1y draft. However I was looking at it and with some experimentation realized that I could partially implement it, and at the same time offer a performance optimization to cout. I simply added an xsputn override to the cout filebuf. The override does nothing special at all if there is a non-trivial codecvt installed. However if the codecvt returns true for always_noconv(), then this function can dump an entire string to fwrite, instead of doing it a character at a time under overflow(). This just makes sense. I stopped short of a full implementation of N3665 because in order to do so, xsputn would have to allocate a buffer when always_noconv() returned false, and I don't want to go to that expense. 2013-08-09 16:25:43 +00:00
__tree Remove several unused forward declarations. Fixes PR22605. 2015-02-18 19:28:35 +00:00
__tuple [libcxx] Delay evaluation of __make_tuple_types to prevent blowing the max template instantiation depth. Fixes Bug #18345 2014-10-28 06:31:22 +00:00
__tuple_03 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
__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 Fix PR 22541: When values are equal, minmax should return the rightmost one in the initializer_list 2015-02-11 15:41:34 +00:00
array G M: Changes all references to "x inline" to "inline x" where x = _libcpp_always_inline or _libcpp_inline_visibility macros. 2013-10-04 22:09:00 +00:00
atomic Change a couple more template parameter names from 'T' to '_Tp', etc. Thanks to Ondřej Majerech for the patch, but I did a bit more. 2015-01-11 06:15:59 +00:00
bitset Make locales (and transitively, std::endl) work reliably with gcc. 2014-06-04 15:46:56 +00:00
cassert Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
ccomplex Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
cctype cctype: tweak inclusions for _LIBCPP_MSVCRT case 2015-02-13 22:15:28 +00:00
cerrno Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
cfenv Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
cfloat Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
chrono Partially address a FIXME in steady_clock::now() 2014-09-02 21:14:38 +00:00
cinttypes Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
ciso646 Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
climits Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
clocale Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
cmath Get libc++ building on Sun Solaris. Patch from C Bergstrom. 2015-01-23 22:22:36 +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 Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
condition_variable Allow libc++ to be built on systems without POSIX threads 2014-09-05 19:45:05 +00:00
csetjmp Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
csignal Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
cstdarg Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
cstdbool Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
cstddef Update cstddef after clang r207606. 2014-05-16 01:45:02 +00:00
cstdint Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
cstdio Support Newlib as libc++'s C library [cstdio part, part 2] 2015-01-10 00:08:00 +00:00
cstdlib Xing Xue: port to IBM XLC++/AIX. 2013-08-14 18:00:20 +00:00
cstring Nico Rieck: Currently _MSC_VER and _WIN32 are used to guard code which is 2013-08-01 18:17:34 +00:00
ctgmath Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
ctime Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
cwchar G M: Restore the ability for libcxx to compile again on mingw 64. 2013-09-17 01:34:47 +00:00
cwctype Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
deque Move the default template arguments into the forward declarations for the containers: deque, forwardlist and list. References PR#22605. 2015-02-18 17:24:08 +00:00
exception 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
forward_list Move the default template arguments into the forward declarations for the containers: deque, forwardlist and list. References PR#22605. 2015-02-18 17:24:08 +00:00
fstream Revert: Revert r227804: Use fseek/ftell instead of fseeko/ftello when Newlib is the libc 2015-02-03 15:34:17 +00:00
functional Add trailing return types (and noexcept specifications) to the 'diamond operators'. Fixes PR#22600. 2015-02-25 12:20:52 +00:00
future Remove use of _[A-Z] identifiers and poison them to detect usage 2015-02-05 23:01:40 +00:00
initializer_list Apply constexpr to initializer_list for c++1y. 2013-08-26 20:11:32 +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 Address some post-commit review comments on r217261 2014-09-05 20:28:44 +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 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
istream K-ballo pointed out *another* mistype in my change 2014-09-17 01:58:15 +00:00
iterator Remove several unused forward declarations. Fixes PR22605. 2015-02-18 19:28:35 +00:00
limits libc++: integral types trap on PNaCl 2014-11-26 17:51:58 +00:00
list Move the default template arguments into the forward declarations for the containers: deque, forwardlist and list. References PR#22605. 2015-02-18 17:24:08 +00:00
locale Fix PR21428. Buffer was one byte too small in octal formatting case. Add test 2015-01-26 17:24:52 +00:00
map Fix bug 20740 - std::set/std::map don't support heterogeneous lookup for count(). Thanks to Jim Porter for the bug report 2014-08-24 23:54:16 +00:00
memory Handle function name conflicts in _LIBCPP_MSVCRT mode 2015-02-13 22:15:32 +00:00
module.modulemap Handle function name conflicts in _LIBCPP_MSVCRT mode 2015-02-13 22:15:32 +00:00
mutex Explicitly include <sched.h> for sched_yield() 2014-12-08 14:50:21 +00:00
new More on adding sized deallocation functions in libc++: Continuing from r229281, this adds version guards and test cases. 2015-02-20 06:13:05 +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 K-ballo pointed out *another* mistype in my change 2014-09-17 01:58:15 +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 Get libc++ building on Sun Solaris. Patch from C Bergstrom. 2015-01-23 22:22:36 +00:00
ratio 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
regex Fix for PR22061 by K-ballo 2015-01-28 22:22:35 +00:00
scoped_allocator 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
set Fix bug 20740 - std::set/std::map don't support heterogeneous lookup for count(). Thanks to Jim Porter for the bug report 2014-08-24 23:54:16 +00:00
shared_mutex Allow libc++ to be built on systems without POSIX threads 2014-09-05 19:45:05 +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
stdexcept Fix unused private field warning in stdexcept after r207695. 2015-02-05 07:40:48 +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 Rooting out more undefined behavior in char_traits. 2015-02-13 16:04:42 +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 G M: Improve support for compilers not supporting defaulted functions. 2013-08-24 21:31:37 +00:00
tgmath.h Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
thread Explicitly include <sched.h> for sched_yield() 2014-12-08 14:50:21 +00:00
tuple [libc++] Try and prevent evaluation of `is_default_constructible` on tuples default constructor if it is not needed. 2015-02-21 02:30:41 +00:00
type_traits [libc++] Try and prevent evaluation of `is_default_constructible` on tuples default constructor if it is not needed. 2015-02-21 02:30:41 +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 NFC. Move definition of _LIBCPP_ASSERT into __debug header and remove external include guards. 2014-08-10 23:53:08 +00:00
unordered_set NFC. Move definition of _LIBCPP_ASSERT into __debug header and remove external include guards. 2014-08-10 23:53:08 +00:00
utility Make the forward declaration for array swap have the same inline/visibility attributes as the definition. Thanks to Steven Wu for the catch. 2015-02-24 12:46:39 +00:00
valarray Handle function name conflicts in _LIBCPP_MSVCRT mode 2015-02-13 22:15:32 +00:00
vector [libcxx] Fix vector annotator size increase in `vector::insert(pos, count, value)` 2014-11-14 18:28:36 +00:00