llvm-project/libcxx/include
Nico Weber 28d692d30e Mark module atomic as cplusplus11.
With clang, the header atomic requires __has_feature(cxx_atomic), which is only
true in c++11 mode. Because of this, when using modules in c++98 with libc++
compilation of the std module would fail without this change, PR21002.

(With gcc, only gcc4.7+ is needed, no c++11. But gcc doesn't have modules yet,
and the module.modulemap language can't express things like "this is only
required if the compiler is clang". If gcc gets module support, we'd probably
have a module.modulemap file for each compiler that libc++ supports?)

llvm-svn: 218372
2014-09-24 04:44:54 +00:00
..
experimental NFC. Move definition of _LIBCPP_ASSERT into __debug header and remove external include guards. 2014-08-10 23:53:08 +00:00
ext Do not derive __gnu_cxx::hash<T> from std::hash<T>. 2014-03-06 04:11:10 +00:00
support Support newlib as libc++'s C library [locale part] 2014-09-19 20:09:12 +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 Define ELAST in libcxx's config header on FreeBSD 2014-09-04 13:25:46 +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 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 NFC. Move definition of _LIBCPP_ASSERT into __debug header and remove external include guards. 2014-08-10 23:53:08 +00:00
__locale Make Android's ctype_base::mask unsigned. 2014-07-31 21:04:08 +00:00
__mutex_base Allow libc++ to be built on systems without POSIX threads 2014-09-05 19:45:05 +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 for mismatch to handle evil iterators which overload operator comma 2014-09-16 20:40:05 +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 Allow libc++ to be built on systems without POSIX threads 2014-09-05 19:45:05 +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 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 Rename arguments in include/cmath to work around Newlib macro implementation using these particular names 2014-08-27 14:05:20 +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 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 Apply a similar fix to <forward_list> as I did for <list> in r215210. Again, thanks to Ion Gaztañaga for noticing this problem w.r.t LWG#526 2014-08-08 15:58:00 +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 Address some post-commit review comments on r217261 2014-09-05 20:28:44 +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 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 K-ballo pointed out *another* mistype in my change 2014-09-17 01:58:15 +00:00
iterator NFC. Move definition of _LIBCPP_ASSERT into __debug header and remove external include guards. 2014-08-10 23:53:08 +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 NFC. Move definition of _LIBCPP_ASSERT into __debug header and remove external include guards. 2014-08-10 23:53:08 +00:00
locale Support newlib as libc++'s C library [locale part] 2014-09-19 20:09:12 +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 Allow libc++ to be built on systems without POSIX threads 2014-09-05 19:45:05 +00:00
module.modulemap Mark module atomic as cplusplus11. 2014-09-24 04:44:54 +00:00
mutex Allow libc++ to be built on systems without POSIX threads 2014-09-05 19:45:05 +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 K-ballo pointed out *another* mistype in my change 2014-09-17 01:58:15 +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 Fix PR#20843: binomial_distribution<unsigned> is broken. Add test to ensure that signed and unsigned verstions produce the same sequence. 2014-09-17 18:33:58 +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 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 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 char_traits functions for GCC compatibility. 2014-09-17 16:34:29 +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 Allow libc++ to be built on systems without POSIX threads 2014-09-05 19:45:05 +00:00
tuple Thanks to K-ballo for noting a second incorrect noexcept clause in tuple - and suggesting a more correct way to write the first 2014-09-16 17:08:21 +00:00
type_traits Fix some type-traits (is_assignable, etc) dealing with classes that take non-const references as 'right hand side'. Add tests. Fixes PR# 20836 2014-09-22 23:58:00 +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 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 Add return statement to slice_array and mask_array assignment. Closes PR20614. 2014-08-12 00:06:58 +00:00
vector Make the ASAN RAII object a nop when building w/o ASAN 2014-09-03 21:37:43 +00:00