..
experimental
Move <optional> into include/experimental, and into the std::experimental namespace, since it's not part of C++14, but of an upcoming TS
2013-11-15 22:42:10 +00:00
ext
Do not derive __gnu_cxx::hash<T> from std::hash<T>.
2014-03-06 04:11:10 +00:00
support
Add license headers to a bunch of libc++ files that were missing them. No functionality change. Fixes 18291. Thanks to Nico for the bug report and the patch.
2014-01-16 16:58:45 +00:00
__bit_reference
Patch by GM: Adding MSVC support to __bit_reference
2013-10-21 14:29:37 +00:00
__config
Fix historical #ifdef. Use __cplusplus instead of __GXX_EXPERIMENTAL_CXX0X__ when compiling with clang. No functionality change. Noteto self: It is important to run the regression tests on the copy of the code that you've changed.
2014-02-22 15:13:48 +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
Const qualify __mem_fn call operator
2014-01-22 22:56:52 +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
Rename several internal templates to get rid of ___ (triple underscores) or worse, four. No functionality change.
2014-01-06 14:00:09 +00:00
__hash_table
Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG.
2013-08-23 20:10:18 +00:00
__locale
Patch by Bruce Mitchener. Change all references to EMSCRIPTEN to __EMSCRIPTEN__. If you're not using the PP symbol EMSCRIPTEN, then you should see no functionality change.
2013-11-19 18:05:03 +00:00
__mutex_base
Make cv_status a class enum. Fixes PR18314. Thanks to Andersca for the report and the patch.
2013-12-23 22:14:27 +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
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
Fix-it suggestion for fixing min or max defines on Windows.
2013-11-15 23:41:01 +00:00
algorithm
Per N3924, mark random_shuffle as deprecated in the synopsis for <algorithm>. Since we don't actually do anything when a call is deprecated, there is no functionality change. Maybe someday, we'll decide to warn when using a deprecated function.
2014-03-03 06:14:19 +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
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
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
CMakeLists.txt
Add the CMakeLists.txt that was missed in r194825
2013-11-15 18:34:43 +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
Teach libc++ to use the compiler-provided C-compatible ::max_align_t
2014-02-21 08:37:30 +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
Const qualify __mem_fn call operator
2014-01-22 22:56:52 +00:00
future
Better inline marking for __does_policy_contain. Thanks to Chongyu Zhu for the catch
2013-11-03 22:06:53 +00:00
initializer_list
Apply constexpr to initializer_list for c++1y.
2013-08-26 20:11:32 +00:00
iomanip
Fixed bug in quoted strings implementation. Added test to be sure. Thanks to Peter Sommerlad for the report (and suggested fix)
2013-11-14 20:01:38 +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
Implement LWG 2324: Insert iterator constructors should use addressof(). Add two new container classes to the test suite that overload operator &, and add test cases to the insert/front_insert/back_insert iterator tests that use these containers.
2014-03-03 19:20:40 +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
Avoid signed vs unsigned compare warnings. From Dimitry Andric.
2014-02-07 21:14:29 +00:00
map
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
memory
Update synposis in <memory> to show move semantics for weak_ptr; add tests for already existing move semantics. Mark LWG issues #2315 (no changes needed), 2316 (move semantics for weak_ptr), 2252 (previous commit) and 2271 (previous commit) as complete.
2014-03-05 03:12:04 +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
Tell libc++abi whether or not libc++ has declared bad_array_length.
2013-11-07 17:15:51 +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
Implement LWG issue 2306: match_results::reference should be value_type&, not const value_type&. This is a general move by the LWG to have the reference type of read-only containers be a non-const reference; however, there are no methods that return a non-const reference to a match_result entry, so there's no worries about getting a non-const reference to a constant object.
2014-02-26 01:56:31 +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
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
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
Implement LWG #2268 : Setting a default argument in the declaration of a member function assign of std::basic_string.
2014-03-04 19:17:19 +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 LWG Paper n3887: Consistent Metafunction Aliases. This adds std::tuple_element_t<> as an alias for tuple_element<>::type. Clean up the synopsis for tuple_element in <utility> as well.
2014-03-03 06:18:11 +00:00
type_traits
Mark is_final as a C++14 feature.
2014-03-05 17:58:48 +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
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
Implement LWG Paper n3887: Consistent Metafunction Aliases. This adds std::tuple_element_t<> as an alias for tuple_element<>::type. Clean up the synopsis for tuple_element in <utility> as well.
2014-03-03 06:18:11 +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
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