darling-libcxx/include
Peter Collingbourne 6b5c08ab34 libcxx: Move #include_next <math.h> out of header guard in wrapper header.
Code on Windows expects to be able to do:

 #define _USE_MATH_DEFINES
 #include <math.h>

and receive the definitions of mathematical constants, even if <math.h>
has previously been included. To support this scenario, re-include
<math.h> every time the wrapper header is included.

Differential Revision: https://reviews.llvm.org/D42403

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@323490 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-26 01:19:23 +00:00
..
experimental More of P0600 - '[[nodiscard]] in the Library' mark empty() as nodiscard in filesystem::path 2017-11-16 05:48:32 +00:00
ext Remove usages of _LIBCPP_MSVC which is never defined 2017-05-10 21:40:58 +00:00
support Allow to set locale on Windows. 2017-11-23 10:38:18 +00:00
__bit_reference [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows 2017-05-31 22:07:49 +00:00
__bsd_locale_defaults.h Add system header pragma to BSD locale fallback headers. 2017-08-03 02:50:43 +00:00
__bsd_locale_fallbacks.h Add system header pragma to BSD locale fallback headers. 2017-08-03 02:50:43 +00:00
__config libcxx: Allow auto-linking to be disabled with a macro. 2018-01-24 04:30:19 +00:00
__config_site.in [cmake] Add a config option LIBCXX_HAS_WIN32_THREAD_API for enforcing win32 threads 2018-01-05 20:48:29 +00:00
__debug [libc++] Introduce _LIBCPP_EXTERN_VIS to fix __libcpp_debug_function link errors 2017-01-16 21:01:00 +00:00
__functional_03 Add some const_casts in places where we were implicitly casting away constness. No functional change, but now they're explicit 2017-06-14 20:00:36 +00:00
__functional_base Un-inline a few more variables that are exported from the dylib. 2018-01-02 19:01:45 +00:00
__functional_base_03 [libcxx] Rewrite C++03 __invoke. 2015-08-26 20:15:02 +00:00
__hash_table Revert "Make rehash(0) work with ubsan's unsigned-integer-overflow." 2018-01-08 22:57:12 +00:00
__libcpp_version Update version to 7.0.0svn: cmake, include files and docs 2018-01-03 15:40:29 +00:00
__locale Allow to set locale on Windows. 2017-11-23 10:38:18 +00:00
__mutex_base One more (should be) inline variable that is defined in the dylib 2018-01-02 19:23:30 +00:00
__nullptr [NFC] Rename _LIBCPP_TYPE_VIS_ONLY to _LIBCPP_TEMPLATE_VIS 2017-01-04 23:56:00 +00:00
__split_buffer [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows 2017-05-31 22:07:49 +00:00
__sso_allocator [libc++] Tolerate presence of __deallocate macro 2017-01-07 03:01:24 +00:00
__std_stream [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows 2017-05-31 22:07:49 +00:00
__string [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows 2017-05-31 22:07:49 +00:00
__threading_support libcxx: Move Windows threading support into a .cpp file. 2018-01-23 01:59:43 +00:00
__tree Spelling 2017-08-18 12:57:36 +00:00
__tuple Cleanup remaining usages of _LIBCPP_HAS_NO_<c++11-feature> in tuple and utility 2017-04-19 01:23:39 +00:00
__undef_macros [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows 2017-05-31 22:07:49 +00:00
algorithm Last batch of P0202 constexpr additions: includes/set_intersection/exchange 2018-01-22 23:10:40 +00:00
any Implement part of LWG#2857 - any/optional. Still to do - variant. Reviewed as https://reviews.llvm.org/D31956 2017-04-12 22:51:27 +00:00
array First part of P0600 - '[[nodiscard] in the standard library'. Mark the 'empty()' methods of all the containers as nodiscard. If you're calling empty() w/o looking at the result, you probably meanto to call 'clear()'. c++2a only 2017-11-15 05:51:26 +00:00
atomic Fix ATOMIC_<TYPE>_LOCK_FREE macros on Windows. 2017-04-20 23:22:46 +00:00
bitset Fix problems with r'890 when building on machines where sizeof(size_t) != sizeof(unsigned long long) and C++03 2017-11-27 22:27:22 +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 Put back the undefs that Richard removed. Boost won't build w/o these; specifically the file 'bytes_methods.h' in Apple's python framework defines these. 2016-04-04 22:49:20 +00:00
cerrno Split <errno.h> out of <cerrno>. 2015-10-08 20:37:11 +00:00
cfenv Fix incorrect file header. This is <cfenv> not <cctype>. 2015-10-08 21:17:21 +00:00
cfloat Split <float.h> out of <cfloat>. 2015-10-08 20:37:44 +00:00
chrono Implement most of P0607: Inline Variables for the Standard Library. This involved marking a lot of variables as inline (but only for C++17 and later). 2018-01-02 17:17:01 +00:00
cinttypes Split <inttypes.h> out of <cinttypes>. 2015-10-08 20:38:53 +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 Make support for thread-unsafe C functions optional. 2015-06-24 08:44:38 +00:00
CMakeLists.txt [libc++] Unbreak Apple buildbots 2017-12-08 21:50:32 +00:00
cmath cmath: Support clang's -fdelayed-template-parsing 2017-07-07 05:13:36 +00:00
codecvt [NFC] Rename _LIBCPP_TYPE_VIS_ONLY to _LIBCPP_TEMPLATE_VIS 2017-01-04 23:56:00 +00:00
complex cmath: Support clang's -fdelayed-template-parsing 2017-07-07 05:13:36 +00:00
complex.h PR25118: move system_header pragma before uses of include_next to avoid extension warnings for people finding libc++ headers via -I paths. 2015-10-09 00:26:50 +00:00
condition_variable [libc++] Make _LIBCPP_TYPE_VIS export members 2017-03-02 03:22:18 +00:00
csetjmp Split <setjmp.h> out of <csetjmp>. 2015-10-08 20:41:26 +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 Implement LWG2950: std::byte operations are misspecified 2017-11-14 01:14:53 +00:00
cstdint Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
cstdio [libc++] Drop support for CRTs older than VS 2015 2017-04-07 02:20:52 +00:00
cstdlib [libc++] Respect Windows Store app CRT restrictions 2017-04-06 04:47:49 +00:00
cstring Fix overload sets of strchr, strpbrk, strrchr, memchr and strstr from 2016-02-10 00:59:02 +00:00
ctgmath Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
ctime Make support for thread-unsafe C functions optional. 2015-06-24 08:44:38 +00:00
ctype.h [libc++] Refactor Windows support headers. 2017-05-10 20:57:45 +00:00
cwchar [libc++] Remove unnecessary MSVCRT exclusions 2016-11-08 03:31:42 +00:00
cwctype Split <wctype.h> out of <cwctype>. 2015-10-09 19:57:37 +00:00
deque First part of P0600 - '[[nodiscard] in the standard library'. Mark the 'empty()' methods of all the containers as nodiscard. If you're calling empty() w/o looking at the result, you probably meanto to call 'clear()'. c++2a only 2017-11-15 05:51:26 +00:00
errno.h Cleanup foo.h headers and __config to work in C 2015-11-06 06:30:12 +00:00
exception [libc++] Support Microsoft ABI without vcruntime headers 2017-10-09 19:25:17 +00:00
float.h Cleanup foo.h headers and __config to work in C 2015-11-06 06:30:12 +00:00
forward_list First part of P0600 - '[[nodiscard] in the standard library'. Mark the 'empty()' methods of all the containers as nodiscard. If you're calling empty() w/o looking at the result, you probably meanto to call 'clear()'. c++2a only 2017-11-15 05:51:26 +00:00
fstream libcxx: Provide overloads for basic_filebuf::open() et al that take wchar_t* filenames on Windows. 2018-01-23 02:07:27 +00:00
functional More constexpr algorithms from P0202. search/search_n 2018-01-16 15:48:27 +00:00
future Revert commit removing allocator support from packaged_task. Will investigate further 2017-11-27 20:47:54 +00:00
initializer_list Cleanup _LIBCPP_HAS_NO_<c++11-feature> macros for std::initializer_list 2017-04-18 23:09:36 +00:00
inttypes.h [include] Declare __STDC_*_MACROS for C++11 compat in old libc 2016-09-26 20:20:00 +00:00
iomanip Move 'quoted' for string_view from <string_view> to <iomanip> (where the other versions of 'quoted' live. No functional change. 2016-10-27 15:10:07 +00:00
ios Cleanup usages of _LIBCPP_HAS_NO_<c++11-feature> in <bitset>, <ios>, <locale>, and <iterator> 2017-04-19 01:34:08 +00:00
iosfwd [NFC] Rename _LIBCPP_TYPE_VIS_ONLY to _LIBCPP_TEMPLATE_VIS 2017-01-04 23:56:00 +00:00
iostream Make the presence of stdin and stdout optional. 2015-03-26 14:35:46 +00:00
istream [libcxx] Make std::basic_istream::get 0-terminate input array in case of error. 2018-01-11 23:23:49 +00:00
iterator [libcxx] Define istream_iterator equality comparison operators out-of-line 2017-12-11 13:54:58 +00:00
limits Fix more unreserved names 2017-06-01 02:29:37 +00:00
limits.h [libcxx] Fix gcc build. 2016-10-10 15:56:01 +00:00
list Fix PR35564 - std::list splice/erase incorrectly throw in debug mode. 2018-01-25 00:02:48 +00:00
locale Make pbump (internally) handle sizes bigger than MAX_INT. Fixes PR#33725 - thanks to Jonathan Wakely for the report 2017-09-12 15:00:43 +00:00
locale.h [libcxx] Implement locale.h to fix modules build 2016-11-19 01:14:15 +00:00
map First part of P0600 - '[[nodiscard] in the standard library'. Mark the 'empty()' methods of all the containers as nodiscard. If you're calling empty() w/o looking at the result, you probably meanto to call 'clear()'. c++2a only 2017-11-15 05:51:26 +00:00
math.h libcxx: Move #include_next <math.h> out of header guard in wrapper header. 2018-01-26 01:19:23 +00:00
memory libcxx: Disable CFI in function std::get_temporary_buffer. 2018-01-17 19:32:35 +00:00
module.modulemap [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows 2017-05-31 22:07:49 +00:00
mutex Implement most of P0607: Inline Variables for the Standard Library. This involved marking a lot of variables as inline (but only for C++17 and later). 2018-01-02 17:17:01 +00:00
new Implement more of P0600: '[[nodiscard]] in the library' for C++2a 2017-12-04 23:03:42 +00:00
numeric Fix incorrect handling of move-only types in transform_reduce iter iter iter init, and add test. 2018-01-05 01:31:57 +00:00
optional Implement most of P0607: Inline Variables for the Standard Library. This involved marking a lot of variables as inline (but only for C++17 and later). 2018-01-02 17:17:01 +00:00
ostream Fix failure on C++03 bots 2017-11-27 16:17:19 +00:00
queue Implement LWG2783: stack::emplace() and queue::emplace() should return decltype(auto) 2018-01-24 22:42:25 +00:00
random Change an internal table of constants for the poisson distribution from 2018-01-16 14:54:36 +00:00
ratio Implement most of P0607: Inline Variables for the Standard Library. This involved marking a lot of variables as inline (but only for C++17 and later). 2018-01-02 17:17:01 +00:00
regex [libcxx] Correctly handle invalid regex character class names 2018-01-24 12:45:18 +00:00
scoped_allocator More of P0600; marking allocation routines as [[nodiscard]] 2017-11-26 02:55:38 +00:00
set Mark the transparent version set::count() as const. Thanks to Ivan Matek for the bug report. 2018-01-07 17:39:57 +00:00
setjmp.h Cleanup foo.h headers and __config to work in C 2015-11-06 06:30:12 +00:00
shared_mutex [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows 2017-05-31 22:07:49 +00:00
sstream libcxx: Fix for basic_stringbuf::seekoff() after r320604. 2017-12-19 23:33:16 +00:00
stack Implement LWG2783: stack::emplace() and queue::emplace() should return decltype(auto) 2018-01-24 22:42:25 +00:00
stdbool.h Add stdbool.h wrapper for libc++ 2016-02-20 00:16:41 +00:00
stddef.h Check for musl-libc's max_align_t in addition to other variants. 2017-02-10 01:27:42 +00:00
stdexcept Fix more unreserved names 2017-06-01 02:29:37 +00:00
stdint.h [include] Declare __STDC_*_MACROS for C++11 compat in old libc 2016-09-26 20:20:00 +00:00
stdio.h libcxx: Rename vasprintf function to __libcpp_vasprintf. 2018-01-23 18:53:33 +00:00
stdlib.h [libc++] Refactor Windows support headers. 2017-05-10 20:57:45 +00:00
streambuf Make pbump (internally) handle sizes bigger than MAX_INT. Fixes PR#33725 - thanks to Jonathan Wakely for the report 2017-09-12 15:00:43 +00:00
string Change a static_assert to check for is_trivial instead of is_pod, as is mandated by P0767. 2018-01-22 00:17:48 +00:00
string_view Change a static_assert to check for is_trivial instead of is_pod, as is mandated by P0767. 2018-01-22 00:17:48 +00:00
string.h Instead of asking glibc to provide correct C++ signatures for <string.h> 2016-02-11 23:51:02 +00:00
strstream Cleanup _LIBCPP_HAS_NO_<c++11-feature> in the input.output library 2017-04-18 23:38:41 +00:00
system_error Implement most of P0607: Inline Variables for the Standard Library. This involved marking a lot of variables as inline (but only for C++17 and later). 2018-01-02 17:17:01 +00:00
tgmath.h Windows support by Ruben Van Boxem. 2011-10-17 20:05:10 +00:00
thread [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows 2017-05-31 22:07:49 +00:00
tuple Fix missing return in __tuple_leaf::__can_bind_reference when __reference_binds_to_temporary added in r323380. 2018-01-24 23:10:02 +00:00
type_traits Implement P0463R1: 'Endian just Endian'. Reviewed as https://reviews.llvm.org/D35472 2018-01-24 01:53:24 +00:00
typeindex [NFC] Rename _LIBCPP_TYPE_VIS_ONLY to _LIBCPP_TEMPLATE_VIS 2017-01-04 23:56:00 +00:00
typeinfo [libc++] Remove unnecessary struct tag 2017-09-15 06:19:31 +00:00
unordered_map First part of P0600 - '[[nodiscard] in the standard library'. Mark the 'empty()' methods of all the containers as nodiscard. If you're calling empty() w/o looking at the result, you probably meanto to call 'clear()'. c++2a only 2017-11-15 05:51:26 +00:00
unordered_set First part of P0600 - '[[nodiscard] in the standard library'. Mark the 'empty()' methods of all the containers as nodiscard. If you're calling empty() w/o looking at the result, you probably meanto to call 'clear()'. c++2a only 2017-11-15 05:51:26 +00:00
utility Last batch of P0202 constexpr additions: includes/set_intersection/exchange 2018-01-22 23:10:40 +00:00
valarray [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows 2017-05-31 22:07:49 +00:00
variant Implement most of P0607: Inline Variables for the Standard Library. This involved marking a lot of variables as inline (but only for C++17 and later). 2018-01-02 17:17:01 +00:00
vector First part of P0600 - '[[nodiscard] in the standard library'. Mark the 'empty()' methods of all the containers as nodiscard. If you're calling empty() w/o looking at the result, you probably meanto to call 'clear()'. c++2a only 2017-11-15 05:51:26 +00:00
wchar.h [libc++] Account for Microsoft CRT const overloads 2017-09-15 18:49:34 +00:00
wctype.h Split <wctype.h> out of <cwctype>. 2015-10-09 19:57:37 +00:00