llvm-project/libcxx/include
Marshall Clow 28d65da618 dit pointed out on IRC that '__i = _VSTD::next(__i)' was a very long-winded way of writing '++__i'. Since I hate being thought of as long-winded (this checkin comment notwithstanding), I fixed it. No functionality change.
llvm-svn: 214834
2014-08-05 01:34:12 +00:00
..
experimental [libcxx] expose experimental::erased_type for all standard versions. 2014-07-24 19:17:38 +00:00
ext Do not derive __gnu_cxx::hash<T> from std::hash<T>. 2014-03-06 04:11:10 +00:00
support Add support for BIONIC C library (Android). Patch from Dan Albert 2014-07-10 15:20:28 +00:00
CMakeLists.txt eliminate install of duplicate headers (take 2) 2014-06-24 20:32:11 +00:00
__bit_reference Fix PR 19663. Some calls to find(vector<bool>) were returning iterators that were subtly invalid (didn't compare equal). Thanks to Erik Verbruggen for the report (and diagnosis) 2014-05-06 15:33:23 +00:00
__config Change _LIBCXX_CONSTEXPR_AFTER_CXX11 to check for c++14 constexpr rules 2014-07-17 05:16:18 +00:00
__debug Debug mode for string. This commit also marks the first time libc++ debug-mode has found a bug (found one in regex). Had to play with extern templates a bit to get this to work since string is heavily used within libc++.dylib. 2013-08-23 17:37:05 +00:00
__functional_03 Fix libc++ bug #20039: 'Constructing std::function from empty compatible std::function results in half-empty state' Thanks to Agustin Berge for the report, and for his and Eric Fiselier's work on a fix. 2014-06-30 21:27:51 +00:00
__functional_base Rename several internal templates to get rid of ___ (triple underscores) or worse, four. No functionality change. 2014-01-06 14:00:09 +00:00
__functional_base_03 Fix a problem with reference_wrapper in C++03 that was causing counting predicates to fail. Add a test to make sure it works. However, most of the reference_wrapper tests still fail in C++03 mode, due to a lack of decltype. No change there. 2014-08-04 19:20:17 +00:00
__hash_table Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG. 2013-08-23 20:10:18 +00:00
__locale Make Android's ctype_base::mask unsigned. 2014-07-31 21:04:08 +00:00
__mutex_base Implement LWG issue #2135. If something goes wrong in condition_variable::wait, call terminate() rather than throwing an error. Do this indirectly, by marking the call as 'noexcept'. This is better than just calling terminate() directly, because it gives a better error message on the console. 2014-03-26 02:45:04 +00:00
__refstring Exceptions store the message as reference counted string for 2014-04-30 19:54:11 +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 Use __builtin_operator_new/__builtin_operator_delete when available. This 2014-06-04 19:54:15 +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 node from a container before destroying it. Thanks to Alexander Potapenko for pointing this out. 2014-04-11 08:22:42 +00:00
__tuple D4451: Fix copy/move issues casude by __tuple_leafs's converting constructor 2014-07-24 18:48:34 +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_min_max Fix-it suggestion for fixing min or max defines on Windows. 2013-11-15 23:41:01 +00:00
algorithm Fix std::make_heap's worst case time complexity 2014-07-22 06:07:09 +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 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). 2013-05-02 20:18:43 +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 Nico Rieck: Currently _MSC_VER and _WIN32 are used to guard code which is 2013-08-01 18:17:34 +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 Mark namespaces for user defined literals as 'inline' 2013-10-05 21:18:32 +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 Remove definition of std::fmaf from libc++. Fixes bug #18910. This function should come from the C standard library. As a drive-by fix, update the tests to remove a warning from -Wabsolute-value 2014-03-05 17:09:51 +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 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
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 Implement national body comment GB9: remove std::gets 2013-10-12 19:09:47 +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 Implement LWG 2193. Default constructors for standard library containers are explicit. Note that libc++ already did this for string/deque/forward_list/list/vector and the unordered containers; implement it for set/multiset/map/multimap. Add tests for all the containers. Two drive-by fixes as well: add a missing explicit in <deque>, and remove a tab that snuck into a container test. This issue is also LLVM bug 15724, and resolves it. 2014-03-05 19:06:20 +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 Support forward_list<Incomplete Type>. Patch by Zhihao Yuan! 2014-02-05 01:44:17 +00:00
fstream 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
functional Fix libc++ bug #20039: 'Constructing std::function from empty compatible std::function results in half-empty state' Thanks to Agustin Berge for the report, and for his and Eric Fiselier's work on a fix. 2014-06-30 21:27:51 +00:00
future Fix PR19819 2014-04-07 13:32:26 +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 Patch by GM: Making implicit conversion to bool explicit in <ios> and <__locale> 2013-10-21 14:41:05 +00:00
iosfwd 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
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 LWG issue 2341; Make the two variants of basic_ostream::seekp and basic_istream::seekg behave consistently; update tests to make sure 2013-10-31 22:20:45 +00:00
iterator THIRD TIME. Richard pointed out (again) that I'd switched the order of the instance variables; and thus failed to repair the ABI break. After this, I'm going to sit down and watch TV for the evening. 2014-03-12 01:19:36 +00:00
limits Fix numeric_limits<XXX>::is_modulo for signed arithmetic types. We were reporting true, for all arithmetic types, which is incorrect. Fix the tests which were wrong, too. This fixes PR#20158. 2014-07-31 01:18:05 +00:00
list dit pointed out on IRC that '__i = _VSTD::next(__i)' was a very long-winded way of writing '++__i'. Since I hate being thought of as long-winded (this checkin comment notwithstanding), I fixed it. No functionality change. 2014-08-05 01:34:12 +00:00
locale Change Windows decoration on some base classes 2014-07-16 01:00:26 +00:00
map Remove some unnecessary noexcept conditions. Thanks to Richard Smith for the catch. 2014-04-16 23:12:55 +00:00
memory Fix a typo in the noexcept calculation for __compressed_pair::swap. Thanks to EricWF for the bug report and the fix. 2014-06-30 15:35:09 +00:00
module.modulemap [modules] Add initial module map for libc++. 2014-05-21 00:33:49 +00:00
mutex std::once_flag was forward declared with _LIBCPP_TYPE_VIS decoration, and the defined with _LIBCPP_TYPE_VIS_ONLY decoration. Make them match 2014-07-29 21:05:31 +00:00
new Use __builtin_operator_new/__builtin_operator_delete when available. This 2014-06-04 19:54:15 +00:00
numeric Zhihao Yuan noted that a move assignment operation was missing from std::adjacent_difference. Fixed. 2013-08-22 18:02:34 +00:00
ostream Remove tabs that crept in during an earlier refactoring. No functionality change 2014-02-16 01:57:26 +00:00
queue 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
random Mark seed_seq default constructor and size() as noexcept. This is implied, but not required by LWG issue 2180 2013-10-23 05:56:47 +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 Base regex code on char_class_type. 2014-07-29 19:23:39 +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 Remove some unnecessary noexcept conditions. Thanks to Richard Smith for the catch. 2014-04-16 23:12:55 +00:00
shared_mutex Implement N3891: A proposal to rename shared_mutex to shared_timed_mutex 2014-03-17 20:19:44 +00:00
sstream 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
stack 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
stdexcept Exceptions store the message as reference counted string for 2014-04-30 19:54:11 +00:00
streambuf 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
string Fix bug #20335 - memory leak when move-constructing a string with unequal allocator. Thanks to Thomas Koeppe for the report 2014-07-17 15:32:20 +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 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
tuple D4451: Fix copy/move issues casude by __tuple_leafs's converting constructor 2014-07-24 18:48:34 +00:00
type_traits [libcxx] Remove use of default function template parameters in type traits. Fixes DR20484 2014-07-31 19:09:26 +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 for PR18735 - self-assignment for map/multimap gives incorrect results in C++03 2014-02-08 04:03:14 +00:00
unordered_set Part 8 of LWG Issue 2210' unordered_set and unordered multiset; this got missed when I went on vacation 2013-09-30 21:33:51 +00:00
utility Some calls to get<>() were qualified. Some were not. Qualify them all. Fixes bug #20092. Thanks to Agustín Bergé for the bug report and the fix. 2014-06-24 00:46:19 +00:00
valarray Use __builtin_operator_new/__builtin_operator_delete when available. This 2014-06-04 19:54:15 +00:00
vector Fix PR#20471. Add a cast in __align_it to ensure that the bit twiddling is done at the correct size. A better solution, IMHO, would be to declare vector<bool>::__bits_per_word as 'size_type', rather than 'unsigned', but that's a possible ABI change. 2014-07-28 15:02:42 +00:00