summaryrefslogtreecommitdiffstats
path: root/libcxx/include
Commit message (Collapse)AuthorAgeFilesLines
* Constrain bind operator()() to not exist if the call is not valid. Fixes ↵Howard Hinnant2013-02-211-6/+42
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=15295. llvm-svn: 175774
* Change the 'result_type' from unsigned to 'uint_fast32_t'. This eliminates ↵Marshall Clow2013-02-071-1/+1
| | | | | | truncation warnings on Linux llvm-svn: 174669
* Revert accidental check-in. These changes are probably good, but premature ↵Howard Hinnant2013-02-074-35/+8
| | | | | | at this point. llvm-svn: 174625
* Michael van der Westhuizen: The attached patch add support for building ↵Howard Hinnant2013-02-074-8/+35
| | | | | | | | | | | against libc++abi and libcxxrt to CMake builds of libc++. Usage (with the appropriate CC and CXX environment variables) is: $ cmake -DLIBCXX_CXX_ABI=libcxxabi '-DLIBCXX_LIBCXXABI_INCLUDE_PATHS=/home/michael/libcxxabi/include' ../libcxx and: $ cmake -DLIBCXX_CXX_ABI=libcxxrt '-DLIBCXX_LIBCXXRT_INCLUDE_PATHS=/home/michael/libcxxrt/src' ../libcxx llvm-svn: 174623
* Marcin Zalewski: Change the name of a template parameter in __copy_backward ↵Howard Hinnant2013-02-061-2/+2
| | | | | | from _InputIterator to _BidirectionalIterator to better document the intent of the algorithm. llvm-svn: 174544
* Saleem Abdulrasool: If errno is defined as volatile int, the qualifier ↵Howard Hinnant2013-01-221-4/+4
| | | | | | | | | | | differences can cause template typename deductions on swap<> (used in string.cpp). Use decltype(errno) to replicate the type and qualifier information for holding the errno value. Because errno is expected to be assignable, there is no need to use typename std::remove_const<decltype(errno)>::type to hold the value. llvm-svn: 173172
* Implement the ATOMIC_*_LOCK_FREE macros.Howard Hinnant2013-01-211-8/+12
| | | | llvm-svn: 173084
* Donated anonymously: This enables GCC 4.8.0 to build libc++.Howard Hinnant2013-01-212-2/+2
| | | | llvm-svn: 173060
* Optimize basic_ostream::write by having it call sputn instead of sputc.Howard Hinnant2013-01-151-11/+2
| | | | llvm-svn: 172542
* Make <cmath> classification macros work with integral types.Howard Hinnant2013-01-141-42/+48
| | | | llvm-svn: 172461
* Fix a race in the construction of future. This fixes ↵Howard Hinnant2013-01-141-1/+5
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=14934. llvm-svn: 172456
* Michael van der Westhuizen: Patches for Linux. Fixes ↵Howard Hinnant2013-01-141-0/+6
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=14648. llvm-svn: 172435
* Fix exception safety bug in vector::push_backHoward Hinnant2013-01-112-3/+8
| | | | llvm-svn: 172250
* atomic_bool was missing (just a typedef to atomic<bool>).Howard Hinnant2013-01-041-0/+2
| | | | llvm-svn: 171498
* Klaas de Vries: Fix bug in libc++'s std::string::find_first_not_of.Howard Hinnant2012-12-311-1/+1
| | | | llvm-svn: 171321
* Don't mark variadic functions as always inline -- they cannot in fact beChandler Carruth2012-12-311-4/+4
| | | | | | | | inlined. Patch by Saleem Abdulrasool, reviewed by Michael Spencer and Richard Smith. llvm-svn: 171276
* Remove test for eof from istreambuf_iterator constructors. It is no longer ↵Howard Hinnant2012-12-291-2/+2
| | | | | | necessary and potentially violates the constructor's noexcept spec. llvm-svn: 171232
* Hyeon-Bin Jeong: readsome() need to reset gcount to zero. This fixes ↵Howard Hinnant2012-12-201-0/+1
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=14670. llvm-svn: 170703
* Implement std::is_base_of for the case where we don't have a compilerRichard Smith2012-12-201-1/+22
| | | | | | | | intrinsic. This relies upon the fact that overload resolution does not check access and ambiguity for a derived-to-base conversion. This passes all is_base_of tests in the test suite. llvm-svn: 170662
* Added static_assert to std::get<N>(std::array) calls to catch "out of ↵Marshall Clow2012-12-181-0/+3
| | | | | | bounds" calls llvm-svn: 170435
* Zhang Xiongpang: Add definitions for const data members. Fixes ↵Howard Hinnant2012-12-124-0/+335
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=14585. llvm-svn: 170026
* Remove 'noreturn' attribute from friend declaration. This attribute will beRichard Smith2012-11-291-1/+1
| | | | | | | inherited from the previous out-of-class declaration, and attributes on friend function declarations are ill-formed in C++11. llvm-svn: 168853
* Dimitry Andric: When using libc++ headers on FreeBSD, in combination with ↵Howard Hinnant2012-11-263-0/+23
| | | | | | | | | | -std=c++98, -ansi or -std=c++03, the long long type is not supported. So in this case, several functions and types, like lldiv_t, strtoll(), are not declared. llvm-svn: 168610
* istreambuf_iterator increment should call sbumpc instead of snextc. Patch Howard Hinnant2012-11-161-9/+7
| | | | | | by Kimball Thurston. This fixes http://llvm.org/bugs/show_bug.cgi?id=14358. llvm-svn: 168209
* Restrict optimized __pad_and_output implementation detail to desired releases.Howard Hinnant2012-11-142-0/+19
| | | | llvm-svn: 167980
* Dimitry Andric: Silence some miscellaneous warnings.Howard Hinnant2012-11-063-1/+5
| | | | llvm-svn: 167493
* Dimitry Andric: Silence some warnings in <locale>.Howard Hinnant2012-11-061-3/+2
| | | | llvm-svn: 167492
* Enable the tuple interface of pair in C++03 mode.Howard Hinnant2012-11-061-4/+0
| | | | llvm-svn: 167491
* Provide a way to disable use of extern templates in libc++. This is ↵Howard Hinnant2012-11-0610-91/+95
| | | | | | intended for the clients of libc++, not the libc++ build. The dylib should always contain the extern templates. To disable the client needs to put -D'_LIBCPP_EXTERN_TEMPLATE(...)=' on the command line. llvm-svn: 167486
* peek should set eofbit if sgetc() returns eof.Howard Hinnant2012-11-011-0/+4
| | | | llvm-svn: 167238
* Richard Smith: This fixes a problem in std::is_constructible for incomplete ↵Howard Hinnant2012-11-011-1/+3
| | | | | | types, and those types with a user-defined operator,(). llvm-svn: 167233
* Rename uses of _ and __ because these are getting stepped on by macros from ↵Howard Hinnant2012-10-3015-103/+103
| | | | | | other system code. llvm-svn: 167038
* Use traits_type::to_int_type in basic_streambuf<_CharT, _Traits>::xsputn ↵Howard Hinnant2012-10-131-1/+1
| | | | | | when calling overflow to correctly handle negative signed character types. This fixes http://llvm.org/bugs/show_bug.cgi?id=14074. llvm-svn: 165884
* Dimitry Andric: FreeBSD only: Add the C11 aligned_alloc to <cstdlib> and ↵Howard Hinnant2012-10-132-1/+8
| | | | | | adjust the inclusion of quick_exit. llvm-svn: 165882
* Don't neglect to "return *this".Argyrios Kyrtzidis2012-10-137-2/+9
| | | | llvm-svn: 165860
* Holger Arnold: Correct the use and testing of __GNUC__ and __GNUC_MINOR__ ↵Howard Hinnant2012-10-031-6/+11
| | | | | | in <__config>. llvm-svn: 165151
* Make vector::iterator and string::iterator more resilient against overly ↵Howard Hinnant2012-10-021-0/+32
| | | | | | generic relational operators. llvm-svn: 165033
* Due to a mistake on my own part, I need to burn some version numbers. This ↵Howard Hinnant2012-09-281-1/+1
| | | | | | does not impact any of the implementation of libc++, and does not impact the ABI in any way. llvm-svn: 164832
* Bump _LIBCPP_VERSION to 1002Howard Hinnant2012-09-261-1/+1
| | | | llvm-svn: 164700
* Apply the emulated nullptr_t with constexpr. This is an unusual ↵Howard Hinnant2012-09-241-11/+11
| | | | | | configuration that would take advantage of this. But it has popped up in the wild and does no harm to support it. llvm-svn: 164575
* Add overflow check to tanh(complex) and reduce to finite answer. Fixes ↵Howard Hinnant2012-09-191-1/+5
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=13874 llvm-svn: 164266
* Overloaded __pad_and_output on ostreambuf_iterator and in this overload call ↵Howard Hinnant2012-09-192-0/+54
| | | | | | sputn instead of dereferencing the iterator which calls sputc. This is intended to be purely a performance optimization, especially for clients who may have overloaded the virtual function xsputn. llvm-svn: 164241
* Align <atomic> with clang r163964 which disallows const _Atomic types.Howard Hinnant2012-09-161-1/+1
| | | | llvm-svn: 164004
* Dimitry Andric: many visibility fixes. Howard: Much appreciated. Can you ↵Howard Hinnant2012-09-1426-59/+110
| | | | | | send me a patch to CREDITS.TXT? llvm-svn: 163862
* Dimitry Andric: FreeBSD porting tweaks for PTHREAD_MUTEX_INITIALIZER and ↵Howard Hinnant2012-09-111-2/+2
| | | | | | PTHREAD_COND_INITIALIZER llvm-svn: 163626
* Some minor mingw64 porting tweaks from Glen.Howard Hinnant2012-09-031-2/+2
| | | | llvm-svn: 163120
* Change sleep_for, sleep_until, and the condition_variable timed waitHoward Hinnant2012-08-302-26/+24
| | | | | | | | | | | | | functions to protect against duration and time_point overflow. Since we're about to wait anyway, we can afford to spend a few more cycles on this checking. I purposefully did not treat the timed try_locks with overflow checking. This fixes http://llvm.org/bugs/show_bug.cgi?id=13721 . I'm unsure if the standard needs clarification in this area, or if this is simply QOI. The <chrono> facilities were never intended to overflow check, but just to not overflow if durations stayed within +/- 292 years. llvm-svn: 162925
* Hyeon-bin Jeong: libc++ fails to create any classes inherit from basic_ios ↵Howard Hinnant2012-08-261-2/+4
| | | | | | | | | | | if they provided char type other than char or wchar_t. It throw exception during construction, so there is no chance to imbue own ctype. This fixes http://llvm.org/bugs/show_bug.cgi?id=13698 llvm-svn: 162648
* Michel Morin: My previous fix for C++03 was incomplete. Howard Hinnant2012-08-251-15/+18
| | | | | | | | | | | | | | | | | | It does not consider user-defined conversions that convert an rvalue into an lvalue and works incorrectly for types with such a conversion operator. For example, struct foo { operator int&(); }; returns false_type. Attached a patch that fixes this problem. http://llvm.org/bugs/show_bug.cgi?id=13601 llvm-svn: 162644
* Have basic_istream seekg, putback and unget first clear eofbit. Fixes ↵Howard Hinnant2012-08-241-0/+3
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=13089. llvm-svn: 162608
OpenPOWER on IntegriCloud