- 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 · 12 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 · 12 years ago
- 7eb9f1e Align <atomic> with clang r163964 which disallows const _Atomic types. by Howard Hinnant · 12 years ago
- 6cb977b Update CREDITS.TXT by Howard Hinnant · 12 years ago
- 33be35e Dimitry Andric: many visibility fixes. Howard: Much appreciated. Can you send me a patch to CREDITS.TXT? by Howard Hinnant · 12 years ago
- 5c90cba Dimitry Andric: FreeBSD porting tweaks for PTHREAD_MUTEX_INITIALIZER and PTHREAD_COND_INITIALIZER by Howard Hinnant · 12 years ago
- 460b4ca Some minor mingw64 porting tweaks from Glen. by Howard Hinnant · 12 years ago
- cf115d2 Change sleep_for, sleep_until, and the condition_variable timed wait by Howard Hinnant · 12 years ago
- c417a80 Hyeon-bin Jeong: libc++ fails to create any classes inherit from basic_ios if they by Howard Hinnant · 12 years ago
- 70e441a Update CREDITS.TXT by Howard Hinnant · 12 years ago
- a516028 Michel Morin: My previous fix for C++03 was incomplete. by Howard Hinnant · 12 years ago
- 3882d39 Wrap throw in _LIBCPP_NO_EXCEPTIONS in debug.cpp. Calls abort if can't throw an exception. Fixes http://llvm.org/bugs/show_bug.cgi?id=13082. by Howard Hinnant · 12 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 · 12 years ago
- d57de09 Add Hyeon-bin Jeong to CREDITS.TXT by Howard Hinnant · 12 years ago
- d305d3c Hyeon-Bin Jeong: 1. sync() should reset it’s external buffer pointers. by Howard Hinnant · 12 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 · 12 years ago
- e7d59f2 Fixed order of calling use_facet vs setbuf in basic_filebuf default constructor. by Howard Hinnant · 12 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 · 12 years ago
- 08a0b48 Fix a typo in the docs by Marshall Clow · 12 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 · 12 years ago
- 96c60b4 Patch contributed by Dev Dude for mingw64 port. by Howard Hinnant · 12 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 · 12 years ago
- 4ae952a Consistently label __bit_array as a struct, not a class. by Howard Hinnant · 12 years ago
- 364e945 Remove obsolete do-installhdrs target (again). by Howard Hinnant · 12 years ago
- 2a03b71 Remove obsolete do-installhdrs target. by Howard Hinnant · 12 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 · 12 years ago
- 4490c4a Change size of reference count field in __libcpp_nmstr from 32 bits to 64 bits for 64 bit targets. This is controls the data layout of all exceptions defined in <stdexcept>. This aligns the ABI with that of gcc-4.2. by Howard Hinnant · 12 years ago
- 584db42 std::equal operating on non-const __bit_iterators was not working. This fixes it. by Howard Hinnant · 12 years ago
- e103a3d Andrew Morrow: The current CMake setup for libc++ incorrectly uses the variable by Howard Hinnant · 12 years ago
- 6886dd1 Loosen up the timing requirements on 4 more tests. by Howard Hinnant · 12 years ago
- 4b2f420 Performance tweaking rotate. by Howard Hinnant · 12 years ago
- cd99236 Andrew Morrow: The attached patch updates the initialization of the 'struct tm' in by Howard Hinnant · 12 years ago
- 069bdd5 Andrew Morrow: There are two tests under test/utilities/memory that heap allocate two by Howard Hinnant · 12 years ago
- 63b2f4f Andrew Morrow: The attached patch updates the lit.config for libc++ unit tests so by Howard Hinnant · 12 years ago
- ef793f2 Andrew Morrow: Among the various libc++ tests that currently don't pass on Linux are by Howard Hinnant · 12 years ago
- 403f91a Andrew Morrow: The attached patch is an attempt to implement by Howard Hinnant · 12 years ago
- 6d39f9f Andrew Morrow: This patch fixes by Howard Hinnant · 12 years ago
- ee7a0bf Andrew Morrow: Attached is a writeup of the current state of the libc++ test suite on Linux. by Howard Hinnant · 12 years ago
- 65f059b Despite my pathological distrust of spin locks, the number just don't lie. I've put a small spin in __sp_mut::lock() on std::mutex::try_lock(), which is testing quite well. In my experience, putting in a yield for every failed iteration is also a major performance booster. This change makes one of the performance tests I was using (a highly contended one) run about 20 times faster. by Howard Hinnant · 12 years ago
- 7a7b6d8 Updated status by Howard Hinnant · 12 years ago
- 30055c6 Updated the complete by-chapter graph by Howard Hinnant · 12 years ago
- 5fec82d Implement [util.smartptr.shared.atomic]. This is the last unimplemented by Howard Hinnant · 12 years ago
- 116ce6a Update CREDITS.TXT by Howard Hinnant · 12 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 · 12 years ago
- 8b5bb3c Patch by Andrew C. Morrow: Conditionally include cxxabi.h in new.cpp and typeinfo.cpp. Both new.cpp and typeinfo.cpp have code that is conditionally compiled by Howard Hinnant · 12 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 · 12 years ago
- f3d62ea locale::id really needs to be constructed at compile time. by Howard Hinnant · 12 years ago
- 0405cc4 libc++: switch from using _ATTRIBUTE(noreturn) (which conflicts with a by Richard Smith · 12 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 · 12 years ago
- 8bf01dd noexcept applied to <future>. by Howard Hinnant · 12 years ago
- 6e1d851 noexcept applied to <thread>. by Howard Hinnant · 12 years ago
- c8f7413 noexcept applied to <condition_variable>. by Howard Hinnant · 12 years ago
- 499c61f noexcept and constexpr applied to <mutex>. by Howard Hinnant · 12 years ago
- 46623a0 noexcept and constexpr applied to <regex>. by Howard Hinnant · 12 years ago
- f57bd56 noexcept and constexpr applied to <ios>. by Howard Hinnant · 12 years ago
- bd14308 noexcept applied to <valarray>. by Howard Hinnant · 12 years ago
- 410f2de constexpr applied to <complex>. by Howard Hinnant · 12 years ago
- c83960a noexcept applied to <random>. by Howard Hinnant · 12 years ago
- fe4c9dd Relax the tolerances on some timing tests. by Howard Hinnant · 12 years ago
- d06a640 noexcept applied to <iterator>. by Howard Hinnant · 12 years ago
- 08bce17 constexpr applied to <array>. by Howard Hinnant · 12 years ago
- 03d7181 constexpr applied to <string>. by Howard Hinnant · 12 years ago
- e41f475 Further tweaks on relaxing complete type checking for function. by Howard Hinnant · 12 years ago
- 7d87f6b Jean-Daniel : clang now supports all required type_traits. by Howard Hinnant · 12 years ago
- af34734 Jean-Daniel updates the libc++ index page to reflect not so recent changes in C++ standard status. by Howard Hinnant · 12 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 · 12 years ago
- 473f838 Applied constexpr to <chrono>. by Howard Hinnant · 12 years ago
- 1ca2367 Fixed a bug in wstring_convert concerning zero-length inputs. Thanks to Jonathan Coxhead for reporting this bug. by Howard Hinnant · 12 years ago
- 591e32d Teach libc++ to check for libc++abi and use its features if they're available. by Richard Smith · 12 years ago
- d586248 Add test for self-referencing emplace test. by Howard Hinnant · 12 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 · 12 years ago
- 46e9493 Appy constexpr to <memory>. Picked up a few missing noexcepts as well. by Howard Hinnant · 12 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 · 12 years ago
- 90d8723 Apply constexpr to <bitset>. by Howard Hinnant · 12 years ago
- 74f26f2 Apply noexcept to tuple. by Howard Hinnant · 12 years ago
- 4eebfc3 As a conforming extension give tuple a noexcept default constructor conditionalized on its held types. by Howard Hinnant · 12 years ago
- 5394c1e Give tuple a constexpr default constructor. by Howard Hinnant · 12 years ago
- a0b5bef New Windows libc++ test results provided by Ruben Van Boxem. by Howard Hinnant · 12 years ago
- 9b12f23 Apply noexcept to those functions implemented in <cstdlib> as a conforming extension. by Howard Hinnant · 12 years ago
- cac0c46 Apply noexcept to those functions implemented in <cmath> as a conforming extension. by Howard Hinnant · 12 years ago
- 71499ad Add noexcept test for offsetof macro per [support.types]/p4. by Howard Hinnant · 12 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 · 12 years ago
- 820e007 link to Marshall's notes. by Howard Hinnant · 12 years ago
- 518d150 mark operator new(std::nothrow) as noalias (aka __attribute__((malloc)) by Nuno Lopes · 12 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 · 12 years ago
- 67c8082 fix help with bash by Nuno Lopes · 12 years ago
- fe59276 Revert pair constructors back to using is_convertible instead of is_constructible. This should pull things into alignment with the final draft. Fixes http://llvm.org/bugs/show_bug.cgi?id=13063#add_comment. by Howard Hinnant · 12 years ago
- f9b6e7e Fix warning flags for CMake builds, from Andrew C. Morrow! by Douglas Gregor · 12 years ago
- caee2b0 Fix a few testsuite bugs involving trailing null (or lack thereof) in strstream. by Howard Hinnant · 12 years ago
- dbd9eac Fix dangling else clause. Bug found and fixed by Dimitry Andric. by Howard Hinnant · 12 years ago
- 6467aeb Fix the new _ALIGNAS_TYPE per instructions supplied by Eli Friedman. by Howard Hinnant · 12 years ago
- cbdd089 Protect use of alignas against older versions of clang by Howard Hinnant · 12 years ago
- 635ce1d 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()). by Howard Hinnant · 12 years ago
- 3e3e5eb Fix memory corruption bug found and fixed by Andrew C. Morrow. by Howard Hinnant · 12 years ago
- 5106565 Add documentation regarding -fno-rtti. by Howard Hinnant · 12 years ago
- 9b763e0 Revert fix to http://llvm.org/bugs/show_bug.cgi?id=12867 for the reason now included in the code comment. by Howard Hinnant · 12 years ago
- 0855dde Revert my _LIBCPP_INLINE_VISIBILITY changes, r157097 and r157107 by Douglas Gregor · 12 years ago
- f20f0d3 valarray resize should not be _LIBCPP_INLINE_VISIBILITY by Douglas Gregor · 12 years ago
- e9e4b85 Move _LIBCPP_VISIBLE_INLINE from the out-of-line definitions of member by Douglas Gregor · 12 years ago
- 7626576 Protect __shared_weak_count::__get_deleter declaration with _LIBCPP_NO_RTTI. Fixes http://llvm.org/bugs/show_bug.cgi?id=12867 by Howard Hinnant · 12 years ago