- 83eade6 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. by Howard Hinnant · 12 years ago
- cc7bdae Have basic_istream::read call sgetn intead of sbumpc individual characters. This addresses http://llvm.org/bugs/show_bug.cgi?id=15427. by Howard Hinnant · 12 years ago
- 3101474 Correct silly type-o. Thanks Richard. by Howard Hinnant · 12 years ago
- 11a31d0 The bitset(unsigned long long) constructor was broken by the constexpr additions only on 32 bit platforms. Fixed. This addresses http://llvm.org/bugs/show_bug.cgi?id=15444. by Howard Hinnant · 12 years ago
- 4a0e74f Alexey Samsonov: #ifdefs out undefined function in static build of libc++ w/o RTTI. by Howard Hinnant · 12 years ago
- 0560f78 Constrain bind operator()() to not exist if the call is not valid. Fixes http://llvm.org/bugs/show_bug.cgi?id=15295. by Howard Hinnant · 12 years ago
- 5920cfc Change the 'result_type' from unsigned to 'uint_fast32_t'. This eliminates truncation warnings on Linux by Marshall Clow · 13 years ago
- 635bbbb Revert accidental check-in. These changes are probably good, but premature at this point. by Howard Hinnant · 13 years ago
- 46c49d1 Michael van der Westhuizen: The attached patch add support for building against libc++abi and libcxxrt to CMake builds of libc++. by Howard Hinnant · 13 years ago
- b73568d Marcin Zalewski: Change the name of a template parameter in __copy_backward from _InputIterator to _BidirectionalIterator to better document the intent of the algorithm. by Howard Hinnant · 13 years ago
- 54e2fff Saleem Abdulrasool: If errno is defined as volatile int, the qualifier differences can cause by Howard Hinnant · 13 years ago
- 7b9d6a8 Implement the ATOMIC_*_LOCK_FREE macros. by Howard Hinnant · 13 years ago
- 78f0de2 Donated anonymously: This enables GCC 4.8.0 to build libc++. by Howard Hinnant · 13 years ago
- 0b93963 Optimize basic_ostream::write by having it call sputn instead of sputc. by Howard Hinnant · 13 years ago
- b05a556 Make <cmath> classification macros work with integral types. by Howard Hinnant · 13 years ago
- 1b031c9 Fix a race in the construction of future. This fixes http://llvm.org/bugs/show_bug.cgi?id=14934. by Howard Hinnant · 13 years ago
- 750039f Michael van der Westhuizen: Patches for Linux. Fixes http://llvm.org/bugs/show_bug.cgi?id=14648. by Howard Hinnant · 13 years ago
- f619e23 Fix exception safety bug in vector::push_back by Howard Hinnant · 13 years ago
- 6ae4705 atomic_bool was missing (just a typedef to atomic<bool>). by Howard Hinnant · 13 years ago
- 352bd3a Klaas de Vries: Fix bug in libc++'s std::string::find_first_not_of. by Howard Hinnant · 13 years ago
- ed9f69d Don't mark variadic functions as always inline -- they cannot in fact be by Chandler Carruth · 13 years ago
- d1a7479 Remove test for eof from istreambuf_iterator constructors. It is no longer necessary and potentially violates the constructor's noexcept spec. by Howard Hinnant · 13 years ago
- ee717d8 Hyeon-Bin Jeong: readsome() need to reset gcount to zero. This fixes http://llvm.org/bugs/show_bug.cgi?id=14670. by Howard Hinnant · 13 years ago
- b2f2b68 Implement std::is_base_of for the case where we don't have a compiler by Richard Smith · 13 years ago
- a46482e Added static_assert to std::get<N>(std::array) calls to catch "out of bounds" calls by Marshall Clow · 13 years ago
- 0a69fa1 Zhang Xiongpang: Add definitions for const data members. Fixes http://llvm.org/bugs/show_bug.cgi?id=14585. by Howard Hinnant · 13 years ago
- 53008d8 Remove 'noreturn' attribute from friend declaration. This attribute will be by Richard Smith · 13 years ago
- 8a9c5ea Dimitry Andric: When using libc++ headers on FreeBSD, in combination with -std=c++98, by Howard Hinnant · 13 years ago
- 984f10f istreambuf_iterator increment should call sbumpc instead of snextc. Patch by Howard Hinnant · 13 years ago
- 537b2fa Restrict optimized __pad_and_output implementation detail to desired releases. by Howard Hinnant · 13 years ago
- 0919dba Dimitry Andric: Silence some miscellaneous warnings. by Howard Hinnant · 13 years ago
- 9bae2a9 Dimitry Andric: Silence some warnings in <locale>. by Howard Hinnant · 13 years ago
- 9d5e9d3 Enable the tuple interface of pair in C++03 mode. by Howard Hinnant · 13 years ago
- ff92677 Provide a way to disable use of extern templates in libc++. This is 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. by Howard Hinnant · 13 years ago
- 73c85c7 peek should set eofbit if sgetc() returns eof. by Howard Hinnant · 13 years ago
- 4af2cf3 Richard Smith: This fixes a problem in std::is_constructible for incomplete types, and those types with a user-defined operator,(). by Howard Hinnant · 13 years ago
- 9c0df14 Rename uses of _ and __ because these are getting stepped on by macros from other system code. by Howard Hinnant · 13 years ago
- 1c0be38 Use traits_type::to_int_type in basic_streambuf<_CharT, _Traits>::xsputn when calling overflow to correctly handle negative signed character types. This fixes http://llvm.org/bugs/show_bug.cgi?id=14074. by Howard Hinnant · 13 years ago
- 999fc97 Dimitry Andric: FreeBSD only: Add the C11 aligned_alloc to <cstdlib> and adjust the inclusion of quick_exit. by Howard Hinnant · 13 years ago
- 1dc6f7a Don't neglect to "return *this". by Argyrios Kyrtzidis · 13 years ago
- 75536ba Holger Arnold: Correct the use and testing of __GNUC__ and __GNUC_MINOR__ in <__config>. by Howard Hinnant · 13 years ago
- 95c0e9f Make vector::iterator and string::iterator more resilient against overly generic relational operators. by Howard Hinnant · 13 years ago
- 155ff6e Due to a mistake on my own part, I need to burn some version numbers. This does not impact any of the implementation of libc++, and does not impact the ABI in any way. by Howard Hinnant · 13 years ago
- 8d36c43 Bump _LIBCPP_VERSION to 1002 by Howard Hinnant · 13 years ago
- c25d158 Apply the emulated nullptr_t with constexpr. This is an unusual configuration that would take advantage of this. But it has popped up in the wild and does no harm to support it. by Howard Hinnant · 13 years ago
- 2d3f4ee Add overflow check to tanh(complex) and reduce to finite answer. Fixes http://llvm.org/bugs/show_bug.cgi?id=13874 by Howard Hinnant · 13 years ago
- a585de6 Overloaded __pad_and_output on ostreambuf_iterator and in this overload call 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. by Howard Hinnant · 13 years ago
- 7eb9f1e Align <atomic> with clang r163964 which disallows const _Atomic types. by Howard Hinnant · 13 years ago
- 33be35e Dimitry Andric: many visibility fixes. Howard: Much appreciated. Can you send me a patch to CREDITS.TXT? by Howard Hinnant · 13 years ago
- 5c90cba Dimitry Andric: FreeBSD porting tweaks for PTHREAD_MUTEX_INITIALIZER and PTHREAD_COND_INITIALIZER by Howard Hinnant · 13 years ago
- 460b4ca Some minor mingw64 porting tweaks from Glen. by Howard Hinnant · 13 years ago
- cf115d2 Change sleep_for, sleep_until, and the condition_variable timed wait by Howard Hinnant · 13 years ago
- c417a80 Hyeon-bin Jeong: libc++ fails to create any classes inherit from basic_ios if they by Howard Hinnant · 13 years ago
- a516028 Michel Morin: My previous fix for C++03 was incomplete. by Howard Hinnant · 13 years ago
- 37bdf0e Have basic_istream seekg, putback and unget first clear eofbit. Fixes http://llvm.org/bugs/show_bug.cgi?id=13089. by Howard Hinnant · 13 years ago
- d305d3c Hyeon-Bin Jeong: 1. sync() should reset it’s external buffer pointers. by Howard Hinnant · 13 years ago
- ec423cb Fix basic_filebuf's internal buffer is shrinking when using with some codecvt. http://llvm.org/bugs/show_bug.cgi?id=13602 by Howard Hinnant · 13 years ago
- e7d59f2 Fixed order of calling use_facet vs setbuf in basic_filebuf default constructor. by Howard Hinnant · 13 years ago
- 8540d4c basic_filebuf needs to delay obtaining a codecvt facet from the global locale to give the client a chance to imbue the proper locale. Fixes http://llvm.org/bugs/show_bug.cgi?id=13663. by Howard Hinnant · 13 years ago
- ffab058 In C++03 mode add an explicit conversion from int to the emulated class enum. Fixes a problem reported by C. Bergström. by Howard Hinnant · 13 years ago
- 96c60b4 Patch contributed by Dev Dude for mingw64 port. by Howard Hinnant · 13 years ago
- a0852ff Apply patches supplied by Michel Morin in http://llvm.org/bugs/show_bug.cgi?id=13601 to correct bugs in is_convertible for the case that the intrinsic __is_convertible_to is not available. by Howard Hinnant · 13 years ago
- 4ae952a Consistently label __bit_array as a struct, not a class. by Howard Hinnant · 13 years ago
- e87514a Patch constributed by Michel Moren in http://llvm.org/bugs/show_bug.cgi?id=13592 . Fixes is_convertible<From, To> when To is an abstract type. by Howard Hinnant · 13 years ago
- 584db42 std::equal operating on non-const __bit_iterators was not working. This fixes it. by Howard Hinnant · 13 years ago
- 4b2f420 Performance tweaking rotate. by Howard Hinnant · 13 years ago
- 5fec82d Implement [util.smartptr.shared.atomic]. This is the last unimplemented by Howard Hinnant · 13 years ago
- afcac1a Patch by Andrew C. Morrow: shims to work around macroized getc and putc on linux. On my eglibc 2.13 based Debian system 'getc' is a macro defined in by Howard Hinnant · 13 years ago
- ca8eb83 <algorithm> no longer needs to include <cstdlib>, but can get away with just <cstddef>. This was brought to my attention by Salvatore Benedetto in his port to a bare-metal coretex-m3. This exposed two test bugs where an explicit #include <cstdlib> was needed. by Howard Hinnant · 13 years ago
- f3d62ea locale::id really needs to be constructed at compile time. by Howard Hinnant · 13 years ago
- 0405cc4 libc++: switch from using _ATTRIBUTE(noreturn) (which conflicts with a by Richard Smith · 13 years ago
- 8131a01 Apple LWG 2067: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3318.html#2067 . This is the only actionable change that has been made to the C++ draft since C++11. In general it has not been decided exactly how libc++ will track changes made to C++11. New features and design changes will probably be #ifdef'd, especially if they are not backwards compatible. Defects and 'dumb mistakes' are more likely to just be put in. Decisions on telling one from the other will be made on a case by case basis. by Howard Hinnant · 13 years ago
- 8bf01dd noexcept applied to <future>. by Howard Hinnant · 13 years ago
- 6e1d851 noexcept applied to <thread>. by Howard Hinnant · 13 years ago
- c8f7413 noexcept applied to <condition_variable>. by Howard Hinnant · 13 years ago
- 499c61f noexcept and constexpr applied to <mutex>. by Howard Hinnant · 13 years ago
- 46623a0 noexcept and constexpr applied to <regex>. by Howard Hinnant · 13 years ago
- f57bd56 noexcept and constexpr applied to <ios>. by Howard Hinnant · 13 years ago
- bd14308 noexcept applied to <valarray>. by Howard Hinnant · 13 years ago
- 410f2de constexpr applied to <complex>. by Howard Hinnant · 13 years ago
- c83960a noexcept applied to <random>. by Howard Hinnant · 13 years ago
- d06a640 noexcept applied to <iterator>. by Howard Hinnant · 13 years ago
- 08bce17 constexpr applied to <array>. by Howard Hinnant · 13 years ago
- 03d7181 constexpr applied to <string>. by Howard Hinnant · 13 years ago
- e41f475 Further tweaks on relaxing complete type checking for function. by Howard Hinnant · 13 years ago
- c425307 Relax the complete-type checks that are happening under __invokable<Fp, Args...> to only check Fp, and not Args... . This should be sufficient to give the desired high quality diagnostics under both bind and function. And this allows a test reported by Rich E on cfe-dev to pass. Tracked by <rdar://problem/11880602>. by Howard Hinnant · 13 years ago
- 473f838 Applied constexpr to <chrono>. by Howard Hinnant · 13 years ago
- 1ca2367 Fixed a bug in wstring_convert concerning zero-length inputs. Thanks to Jonathan Coxhead for reporting this bug. by Howard Hinnant · 13 years ago
- a58402a Change emplace for vector and deque to create the temporary (when necessary) before any changes to the container are made. Nikolay Ivchenkov deserves the credit for pushing this problem and the solution for it. by Howard Hinnant · 13 years ago
- 46e9493 Appy constexpr to <memory>. Picked up a few missing noexcepts as well. by Howard Hinnant · 13 years ago
- 384608e Apply constexpr to the mutex constructor. As a conforming extension, apply constexpr to the condition_variable constructor. These are important because it enables the compiler to construct these types at compile time, even though the object will be non-const. Since they are constructed at compile time, there is no chance of a data race before they are constructed. by Howard Hinnant · 13 years ago
- 90d8723 Apply constexpr to <bitset>. by Howard Hinnant · 13 years ago
- 74f26f2 Apply noexcept to tuple. by Howard Hinnant · 13 years ago
- 4eebfc3 As a conforming extension give tuple a noexcept default constructor conditionalized on its held types. by Howard Hinnant · 13 years ago
- 5394c1e Give tuple a constexpr default constructor. by Howard Hinnant · 13 years ago
- 9b12f23 Apply noexcept to those functions implemented in <cstdlib> as a conforming extension. by Howard Hinnant · 13 years ago
- cac0c46 Apply noexcept to those functions implemented in <cmath> as a conforming extension. by Howard Hinnant · 13 years ago
- 7a44515 This commit establishes a new bucket_count policy in the unordered containers: The policy now allows a power-of-2 number of buckets to be requested (and that request honored) by the client. And if the number of buckets is set to a power of 2, then the constraint of the hash to the number of buckets uses & instead of %. If the client does not specify a number of buckets, then the policy remains unchanged: a prime number of buckets is selected. The growth policy is that the number of buckets is roughly doubled when needed. While growing, either the prime, or the power-of-2 strategy will be preserved. There is a small run time cost for putting in this switch. For very cheap hash functions, e.g. identity for int, the cost can be as high as 18%. However with more typical use cases, e.g. strings, the cost is in the noise level. I've measured cases with very cheap hash functions (int) that using a power-of-2 number of buckets can make look up about twice as fast. However I've also noted that a power-of-2 number of buckets is more susceptible to accidental catastrophic collisions. Though I've also noted that accidental catastrophic collisions are also possible when using a prime number of buckets (but seems far less likely). In short, this patch adds an extra tuning knob for those clients trying to get the last bit of performance squeezed out of their hash containers. Casual users of the hash containers will not notice the introduction of this tuning knob. Those clients who swear by power-of-2 hash containers can now opt-in to that strategy. Clients who prefer a prime number of buckets can continue as they have. by Howard Hinnant · 13 years ago
- 518d150 mark operator new(std::nothrow) as noalias (aka __attribute__((malloc)) by Nuno Lopes · 13 years ago
- 2d62229 Fixed a bug regarding result_of reported by Sven Behne. The fix is C++11 only mainly because result_of is a variadic beast and working with variadics is just such a problem in C++03 mode. This should bring result_of up to full conformance with the C++11 spec. by Howard Hinnant · 13 years ago