hanchenye-llvm-project/libcxx/include
Howard Hinnant 7a828034c6 Peter Collingbourne: If a pointer is passed as the third argument of the (iterator,
iterator, allocator) constructor with the intention of it being
implicitly converted to the allocator type, it is possible for overload
resolution to favour the (iterator, iterator, enable_if) constructor.
Eliminate this possibility by moving the enable_if to one of the
existing arguments and removing the third argument.

llvm-svn: 191145
2013-09-21 21:13:54 +00:00
..
ext Zhihao Yuan noted that there were a few unneeded statements. Eliminated the unnecessary ones, and commented the ones that are there for non-obvious reasons such as to help things limp along in C++03 language mode. 2013-08-22 18:29:50 +00:00
support G M: Restore the ability for libcxx to compile again on mingw 64. 2013-09-17 01:34:47 +00:00
__bit_reference Xing Xue: port to IBM XLC++/AIX. 2013-08-14 18:00:20 +00:00
__config G M: Restore the ability for libcxx to compile again on mingw 64. 2013-09-17 01:34:47 +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 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_base Implement uses-allocator construction 2013-09-12 02:11:16 +00:00
__functional_base_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
__hash_table Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG. 2013-08-23 20:10:18 +00:00
__locale G M: Restore the ability for libcxx to compile again on mingw 64. 2013-09-17 01:34:47 +00:00
__mutex_base N3659: Shared locking in C++ Revision 2, c++1y only 2013-09-21 01:49:28 +00:00
__split_buffer Implement full support for non-pointer pointers in custom allocators for deque. 2013-06-23 21:17:24 +00:00
__sso_allocator Further macro protection by replacing _[A-Z] with _[A-Z]p 2011-11-29 18:15:50 +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 Zhihao Yuan noted that there were a few unneeded statements. Eliminated the unnecessary ones, and commented the ones that are there for non-obvious reasons such as to help things limp along in C++03 language mode. 2013-08-22 18:29:50 +00:00
__tuple 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_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 Some minor mingw64 porting tweaks from Glen. 2012-09-03 18:13:11 +00:00
algorithm G M: Restore the ability for libcxx to compile again on mingw 64. 2013-09-17 01:34:47 +00:00
array 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
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 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
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 SFINAE out duration converting constructor if the constructor would otherwise cause a ratio compile-time overflow. This fixes LWG 2094. 2013-08-31 16:51:56 +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 Glen: Remove unneeded _LIBCPP_ALWAYS_INLINE. 2013-08-29 23:50:48 +00:00
codecvt Update synopsis in <locale> to match LWG Issue 2229. No code change 2013-08-27 14:22:13 +00:00
complex 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
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 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
cstdint Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
cstdio G M: Restore the ability for libcxx to compile again on mingw 64. 2013-09-17 01:34: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 Update synopsis for list/forward_list/deque to match the allocator style of existing comment. No code change 2013-09-09 18:19:45 +00:00
dynarray Initial implementation of <dynarray>. No allocator support pending resolution of LWG #2235; no stack allocation pending compiler support 2013-09-13 15:22:55 +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 Update synopsis for list/forward_list/deque to match the allocator style of existing comment. No code change 2013-09-09 18:19:45 +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 Apply LWG 2048. It is amazing to me that this actually works, but the existing tests confirm that it does. c++1y status page now showing libc++ is complete for c++1y modulo dynarray issues. 2013-09-21 19:25:37 +00:00
future Apply LWG 2021. This is only a documentation change. Also bringing c++1y status page up to date. 2013-09-21 18:17:23 +00:00
initializer_list Apply constexpr to initializer_list for c++1y. 2013-08-26 20:11:32 +00:00
iomanip N3545: Quoted strings 2013-09-05 04:48:45 +00:00
ios 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
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 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
iterator LWG Issue 2128: Implement global cbegin/rbegin/cend/rbegin 2013-08-30 01:17:07 +00:00
limits Xing Xue: port to IBM XLC++/AIX. 2013-08-14 18:00:20 +00:00
list Update synopsis for list/forward_list/deque to match the allocator style of existing comment. No code change 2013-09-09 18:19:45 +00:00
locale G M: Restore the ability for libcxx to compile again on mingw 64. 2013-09-17 01:34:47 +00:00
map A collection of minor type-o fixes. The first two aren't testable, but all tests pass with them. I stumbled across them while experimenting with a std::move that checks its argument for non-const. The third corrects a test that is currently failing. 2013-09-12 00:10:44 +00:00
memory David Chisnall: macro protect 'test' in __has_pointer_type_imp. 2013-09-21 01:45:05 +00:00
mutex 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
new Adding bad_array_length to libc++ 2013-09-11 01:38:42 +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
optional Implement N3672, optional<T>. 2013-09-02 20:30:37 +00:00
ostream Add a deleted assignment operator for basic_ostream; LWG Issue #2067 2013-08-14 15:15:28 +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 Xing Xue: port to IBM XLC++/AIX. 2013-08-14 18:00:20 +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 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
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 LWG Issue #2210 Part 4 - map/multimap 2013-09-11 00:06:45 +00:00
shared_mutex N3659: Shared locking in C++ Revision 2, c++1y only 2013-09-21 01:49:28 +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 Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +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 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
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 Implement uses-allocator construction 2013-09-12 02:11:16 +00:00
type_traits Implement N3672, optional<T>. 2013-09-02 20:30:37 +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 Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
unordered_map LWG Issue 2210 (Part #6): unordered_map and unordered_multimap 2013-09-12 03:00:31 +00:00
unordered_set 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
utility 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
valarray G M: Make valarray a little more forgiving to compilers not quite so gifted. This has no impact on clang. 2013-09-13 23:27:42 +00:00
vector Peter Collingbourne: If a pointer is passed as the third argument of the (iterator, 2013-09-21 21:13:54 +00:00