hanchenye-llvm-project/libcxx/include
Howard Hinnant bf33f5b292 Protect use of alignas against older versions of clang
llvm-svn: 157764
2012-05-31 19:31:14 +00:00
..
ext Fix http://llvm.org/bugs/show_bug.cgi?id=11461. Credit Alberto Ganesh Barbati. 2011-12-11 20:31:33 +00:00
support Define _WCHAR_T in solaris/wchar.h. This fixes a bug where Solaris 10 headers 2012-03-02 10:56:04 +00:00
__bit_reference Fix several bugs in find/count specialized for bits. 2012-05-10 14:55:00 +00:00
__config Protect use of alignas against older versions of clang 2012-05-31 19:31:14 +00:00
__debug Further macro protection by replacing _[A-Z] with _[A-Z]p 2011-11-29 18:15:50 +00:00
__functional_03 Further macro protection by replacing _[A-Z] with _[A-Z]p 2011-11-29 18:15:50 +00:00
__functional_base Modernize relational operators for shared_ptr and unique_ptr. This includes adding support for nullptr, and using less<T*>. Fixes http://llvm.org/bugs/show_bug.cgi?id=12056. 2012-02-21 21:02:58 +00:00
__functional_base_03 Further macro protection by replacing _[A-Z] with _[A-Z]p 2011-11-29 18:15:50 +00:00
__hash_table As an extension, support incomplete types in the unordered containers to match what we already do in the associative containers. 2011-12-12 17:26:24 +00:00
__locale Solaris port. Currently sees around 200 test failures, mostly related to 2012-02-29 13:05:08 +00:00
__mutex_base Modernize conversion to bool to the explicit bool conversion operator (library wide). This fixes http://llvm.org/bugs/show_bug.cgi?id=12058. 2012-02-21 21:46:43 +00:00
__split_buffer Implement a few optimizations for vector push_back and insert. Fixes r10828365. 2012-02-15 00:41:34 +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 Quash a whole bunch of warnings 2011-12-01 20:21:04 +00:00
__tree Further macro protection by replacing _[A-Z] with _[A-Z]p 2011-11-29 18:15:50 +00:00
__tuple I believe tuple is still under development in the standard. Daniel Krugler is/will be making convincing arguments that a modified form of LWG 2051 (currently NAD Future) is easily acheivable and desirable. He has demonstrated that a tuple<T...> where all of the T are implicitly convertible from U... should have a tuple constructor that is also implicit, instead of explicit. This would support the use cases in LWG 2051 while not undermining T... with explicit conversions from U.... This check-in is an experimental implementation of Daniel's work. I believe this work to be mature enough to warrant inclusion into libc++. If anyone sees real-world problems that this check in causes, please let me know and I will revert it, and provide the feedback to the LWG. 2012-04-01 23:10:42 +00:00
__tuple_03 Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
__undef_min_max Add protection from min/max macros 2011-11-29 16:45:27 +00:00
algorithm Update <random> with constexpr support. Patch contributed by Jonathan Sauer. 2012-04-02 21:00:45 +00:00
array Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
atomic Apply noexcept and constexpr to <atomic>. 2012-04-11 20:14:21 +00:00
bitset SFINAE __bit_iterator such that it will only get instantiated with a container that has the nested type __storage_type. This prevents accidental instantiation such as in http://llvm.org/bugs/show_bug.cgi?id=12755. This fixes http://llvm.org/bugs/show_bug.cgi?id=12755. 2012-05-07 16:50:38 +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 More windows port work by Ruben Van Boxem 2011-10-22 20:59:45 +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 Add protection from min/max macros 2011-11-29 16:45:27 +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 Change std::abs from a template function to three overloads for float, double and long double. 2012-05-03 14:58:34 +00:00
codecvt Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
complex Fix http://llvm.org/bugs/show_bug.cgi?id=11734 2012-01-10 15:15:47 +00:00
complex.h Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
condition_variable Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +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 Give the emulated nullptr_t a default constructor. 2012-02-18 22:01:22 +00:00
cstdint Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
cstdio More windows port work by Ruben Van Boxem 2011-10-22 20:59:45 +00:00
cstdlib Make sure [at_]quick_exit is in std:: 2012-03-14 14:10:37 +00:00
cstring Solaris port. Currently sees around 200 test failures, mostly related to 2012-02-29 13:05:08 +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 More windows port work by Ruben Van Boxem 2011-10-22 20:59:45 +00:00
cwctype Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
deque Quash a whole bunch of warnings 2011-12-01 20:21:04 +00:00
exception Modernize conversion to bool to the explicit bool conversion operator (library wide). This fixes http://llvm.org/bugs/show_bug.cgi?id=12058. 2012-02-21 21:46:43 +00:00
forward_list Further macro protection by replacing _[A-Z] with _[A-Z]p 2011-11-29 18:15:50 +00:00
fstream Fix http://llvm.org/bugs/show_bug.cgi?id=11752 2012-01-12 23:37:51 +00:00
functional Constrain __bind functor constructor such that it won't accidentally get used as a copy constructor from a non-const lvalue. Fixes <rdar://problem/11359080>. 2012-05-04 17:21:02 +00:00
future Fix memory corruption bug found and fixed by Andrew C. Morrow. 2012-05-25 15:55:46 +00:00
initializer_list Further macro protection by replacing _[A-Z] with _[A-Z]p 2011-11-29 18:15:50 +00:00
iomanip Further macro protection by replacing _[A-Z] with _[A-Z]p 2011-11-29 18:15:50 +00:00
ios Modernize conversion to bool to the explicit bool conversion operator (library wide). This fixes http://llvm.org/bugs/show_bug.cgi?id=12058. 2012-02-21 21:46:43 +00:00
iosfwd Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
iostream Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
istream Modernize conversion to bool to the explicit bool conversion operator (library wide). This fixes http://llvm.org/bugs/show_bug.cgi?id=12058. 2012-02-21 21:46:43 +00:00
iterator Quash a whole bunch of warnings 2011-12-01 20:21:04 +00:00
limits Update <limits> with constexpr support. Patch contributed by Jonathan Sauer. 2012-04-02 19:23:15 +00:00
list Further macro protection by replacing _[A-Z] with _[A-Z]p 2011-11-29 18:15:50 +00:00
locale Fix moneypunct_byname algorithm to more accurately represent C locales in C++. 2012-03-10 18:31:43 +00:00
map The rules for emplace in map, multimap, unordered_map and unordered_multimap changed a while back and I'm just now updating to these new rules. In a nutshell, you've got to know you're emplacing to a pair and use one of pair's constructors. I made one extension: If you want to emplace the key and default construct the mapped_type, you can just emplace(key), as opposed to emplace(piecewise_construct, forward_as_tuple(key), forward_as_tuple()). 2012-05-25 22:04:21 +00:00
memory Revert fix to http://llvm.org/bugs/show_bug.cgi?id=12867 for the reason now included in the code comment. 2012-05-19 20:20:49 +00:00
mutex Quash a whole bunch of warnings 2011-12-01 20:21:04 +00:00
new Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
numeric More windows port work by Ruben Van Boxem 2011-10-22 20:59:45 +00:00
ostream Modernize conversion to bool to the explicit bool conversion operator (library wide). This fixes http://llvm.org/bugs/show_bug.cgi?id=12058. 2012-02-21 21:46:43 +00:00
queue Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
random Update <random> with constexpr support. Patch contributed by Jonathan Sauer. 2012-04-02 21:00:45 +00:00
ratio Further macro protection by replacing _[A-Z] with _[A-Z]p 2011-11-29 18:15:50 +00:00
regex Quash a whole bunch of warnings 2011-12-01 20:21:04 +00:00
scoped_allocator Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
set Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
sstream Add protection from min/max macros 2011-11-29 16:45:27 +00:00
stack Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
stdexcept Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
streambuf Quash a whole bunch of warnings 2011-12-01 20:21:04 +00:00
string Installation of CityHash by Craig Silverstein 2011-12-10 20:28:56 +00:00
strstream Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
system_error It appears that the standard accidentally removed the default constructor for error_category. I'm putting it back in. This fixes http://llvm.org/bugs/show_bug.cgi?id=12321. 2012-03-21 16:18:57 +00:00
tgmath.h Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
thread Starting using murmur2 when combining multiple size_t's into a single hash, and also for basic_string. Also made hash<thread::id> ever so slighly more portable. I had to tweak one test which is questionable (definitely not portable) anyway. 2011-12-05 00:08:45 +00:00
tuple I believe tuple is still under development in the standard. Daniel Krugler is/will be making convincing arguments that a modified form of LWG 2051 (currently NAD Future) is easily acheivable and desirable. He has demonstrated that a tuple<T...> where all of the T are implicitly convertible from U... should have a tuple constructor that is also implicit, instead of explicit. This would support the use cases in LWG 2051 while not undermining T... with explicit conversions from U.... This check-in is an experimental implementation of Daniel's work. I believe this work to be mature enough to warrant inclusion into libc++. If anyone sees real-world problems that this check in causes, please let me know and I will revert it, and provide the feedback to the LWG. 2012-04-01 23:10:42 +00:00
type_traits Greatly scale back ambitions of emulating move semantics in C++03 mode. It was causing more problems than it solved. This fixes http://llvm.org/bugs/show_bug.cgi?id=12704. 2012-05-01 15:37:54 +00:00
typeindex Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
typeinfo Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
unordered_map The rules for emplace in map, multimap, unordered_map and unordered_multimap changed a while back and I'm just now updating to these new rules. In a nutshell, you've got to know you're emplacing to a pair and use one of pair's constructors. I made one extension: If you want to emplace the key and default construct the mapped_type, you can just emplace(key), as opposed to emplace(piecewise_construct, forward_as_tuple(key), forward_as_tuple()). 2012-05-25 22:04:21 +00:00
unordered_set Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
utility Put std::piecewise_construct_t back into the dylib for ABI stability. When clients are in C++11/constexpr mode this will be safely ignored because piecewise_construct is then declared with internal linkage. 2012-04-03 23:45:46 +00:00
valarray Revert my _LIBCPP_INLINE_VISIBILITY changes, r157097 and r157107 2012-05-19 07:14:17 +00:00
vector SFINAE __bit_iterator such that it will only get instantiated with a container that has the nested type __storage_type. This prevents accidental instantiation such as in http://llvm.org/bugs/show_bug.cgi?id=12755. This fixes http://llvm.org/bugs/show_bug.cgi?id=12755. 2012-05-07 16:50:38 +00:00