1. 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
  2. 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
  3. 7eb9f1e Align <atomic> with clang r163964 which disallows const _Atomic types. by Howard Hinnant · 12 years ago
  4. 6cb977b Update CREDITS.TXT by Howard Hinnant · 12 years ago
  5. 33be35e Dimitry Andric: many visibility fixes. Howard: Much appreciated. Can you send me a patch to CREDITS.TXT? by Howard Hinnant · 12 years ago
  6. 5c90cba Dimitry Andric: FreeBSD porting tweaks for PTHREAD_MUTEX_INITIALIZER and PTHREAD_COND_INITIALIZER by Howard Hinnant · 12 years ago
  7. 460b4ca Some minor mingw64 porting tweaks from Glen. by Howard Hinnant · 12 years ago
  8. cf115d2 Change sleep_for, sleep_until, and the condition_variable timed wait by Howard Hinnant · 12 years ago
  9. c417a80 Hyeon-bin Jeong: libc++ fails to create any classes inherit from basic_ios if they by Howard Hinnant · 12 years ago
  10. 70e441a Update CREDITS.TXT by Howard Hinnant · 12 years ago
  11. a516028 Michel Morin: My previous fix for C++03 was incomplete. by Howard Hinnant · 12 years ago
  12. 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
  13. 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
  14. d57de09 Add Hyeon-bin Jeong to CREDITS.TXT by Howard Hinnant · 12 years ago
  15. d305d3c Hyeon-Bin Jeong: 1. sync() should reset it’s external buffer pointers. by Howard Hinnant · 12 years ago
  16. 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
  17. e7d59f2 Fixed order of calling use_facet vs setbuf in basic_filebuf default constructor. by Howard Hinnant · 12 years ago
  18. 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
  19. 08a0b48 Fix a typo in the docs by Marshall Clow · 12 years ago
  20. 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
  21. 96c60b4 Patch contributed by Dev Dude for mingw64 port. by Howard Hinnant · 12 years ago
  22. 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
  23. 4ae952a Consistently label __bit_array as a struct, not a class. by Howard Hinnant · 12 years ago
  24. 364e945 Remove obsolete do-installhdrs target (again). by Howard Hinnant · 12 years ago
  25. 2a03b71 Remove obsolete do-installhdrs target. by Howard Hinnant · 12 years ago
  26. 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
  27. 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
  28. 584db42 std::equal operating on non-const __bit_iterators was not working. This fixes it. by Howard Hinnant · 12 years ago
  29. e103a3d Andrew Morrow: The current CMake setup for libc++ incorrectly uses the variable by Howard Hinnant · 12 years ago
  30. 6886dd1 Loosen up the timing requirements on 4 more tests. by Howard Hinnant · 12 years ago
  31. 4b2f420 Performance tweaking rotate. by Howard Hinnant · 12 years ago
  32. cd99236 Andrew Morrow: The attached patch updates the initialization of the 'struct tm' in by Howard Hinnant · 12 years ago
  33. 069bdd5 Andrew Morrow: There are two tests under test/utilities/memory that heap allocate two by Howard Hinnant · 12 years ago
  34. 63b2f4f Andrew Morrow: The attached patch updates the lit.config for libc++ unit tests so by Howard Hinnant · 12 years ago
  35. ef793f2 Andrew Morrow: Among the various libc++ tests that currently don't pass on Linux are by Howard Hinnant · 12 years ago
  36. 403f91a Andrew Morrow: The attached patch is an attempt to implement by Howard Hinnant · 12 years ago
  37. 6d39f9f Andrew Morrow: This patch fixes by Howard Hinnant · 12 years ago
  38. ee7a0bf Andrew Morrow: Attached is a writeup of the current state of the libc++ test suite on Linux. by Howard Hinnant · 12 years ago
  39. 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
  40. 7a7b6d8 Updated status by Howard Hinnant · 12 years ago
  41. 30055c6 Updated the complete by-chapter graph by Howard Hinnant · 12 years ago
  42. 5fec82d Implement [util.smartptr.shared.atomic]. This is the last unimplemented by Howard Hinnant · 12 years ago
  43. 116ce6a Update CREDITS.TXT by Howard Hinnant · 12 years ago
  44. 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
  45. 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
  46. 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
  47. f3d62ea locale::id really needs to be constructed at compile time. by Howard Hinnant · 12 years ago
  48. 0405cc4 libc++: switch from using _ATTRIBUTE(noreturn) (which conflicts with a by Richard Smith · 12 years ago
  49. 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
  50. 8bf01dd noexcept applied to <future>. by Howard Hinnant · 12 years ago
  51. 6e1d851 noexcept applied to <thread>. by Howard Hinnant · 12 years ago
  52. c8f7413 noexcept applied to <condition_variable>. by Howard Hinnant · 12 years ago
  53. 499c61f noexcept and constexpr applied to <mutex>. by Howard Hinnant · 12 years ago
  54. 46623a0 noexcept and constexpr applied to <regex>. by Howard Hinnant · 12 years ago
  55. f57bd56 noexcept and constexpr applied to <ios>. by Howard Hinnant · 12 years ago
  56. bd14308 noexcept applied to <valarray>. by Howard Hinnant · 12 years ago
  57. 410f2de constexpr applied to <complex>. by Howard Hinnant · 12 years ago
  58. c83960a noexcept applied to <random>. by Howard Hinnant · 12 years ago
  59. fe4c9dd Relax the tolerances on some timing tests. by Howard Hinnant · 12 years ago
  60. d06a640 noexcept applied to <iterator>. by Howard Hinnant · 12 years ago
  61. 08bce17 constexpr applied to <array>. by Howard Hinnant · 12 years ago
  62. 03d7181 constexpr applied to <string>. by Howard Hinnant · 12 years ago
  63. e41f475 Further tweaks on relaxing complete type checking for function. by Howard Hinnant · 12 years ago
  64. 7d87f6b Jean-Daniel : clang now supports all required type_traits. by Howard Hinnant · 12 years ago
  65. af34734 Jean-Daniel updates the libc++ index page to reflect not so recent changes in C++ standard status. by Howard Hinnant · 12 years ago
  66. 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
  67. 473f838 Applied constexpr to <chrono>. by Howard Hinnant · 12 years ago
  68. 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
  69. 591e32d Teach libc++ to check for libc++abi and use its features if they're available. by Richard Smith · 12 years ago
  70. d586248 Add test for self-referencing emplace test. by Howard Hinnant · 12 years ago
  71. 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
  72. 46e9493 Appy constexpr to <memory>. Picked up a few missing noexcepts as well. by Howard Hinnant · 12 years ago
  73. 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
  74. 90d8723 Apply constexpr to <bitset>. by Howard Hinnant · 12 years ago
  75. 74f26f2 Apply noexcept to tuple. by Howard Hinnant · 12 years ago
  76. 4eebfc3 As a conforming extension give tuple a noexcept default constructor conditionalized on its held types. by Howard Hinnant · 12 years ago
  77. 5394c1e Give tuple a constexpr default constructor. by Howard Hinnant · 12 years ago
  78. a0b5bef New Windows libc++ test results provided by Ruben Van Boxem. by Howard Hinnant · 12 years ago
  79. 9b12f23 Apply noexcept to those functions implemented in <cstdlib> as a conforming extension. by Howard Hinnant · 12 years ago
  80. cac0c46 Apply noexcept to those functions implemented in <cmath> as a conforming extension. by Howard Hinnant · 12 years ago
  81. 71499ad Add noexcept test for offsetof macro per [support.types]/p4. by Howard Hinnant · 12 years ago
  82. 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
  83. 820e007 link to Marshall's notes. by Howard Hinnant · 12 years ago
  84. 518d150 mark operator new(std::nothrow) as noalias (aka __attribute__((malloc)) by Nuno Lopes · 12 years ago
  85. 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
  86. 67c8082 fix help with bash by Nuno Lopes · 12 years ago
  87. 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
  88. f9b6e7e Fix warning flags for CMake builds, from Andrew C. Morrow! by Douglas Gregor · 12 years ago
  89. caee2b0 Fix a few testsuite bugs involving trailing null (or lack thereof) in strstream. by Howard Hinnant · 12 years ago
  90. dbd9eac Fix dangling else clause. Bug found and fixed by Dimitry Andric. by Howard Hinnant · 12 years ago
  91. 6467aeb Fix the new _ALIGNAS_TYPE per instructions supplied by Eli Friedman. by Howard Hinnant · 12 years ago
  92. cbdd089 Protect use of alignas against older versions of clang by Howard Hinnant · 12 years ago
  93. 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
  94. 3e3e5eb Fix memory corruption bug found and fixed by Andrew C. Morrow. by Howard Hinnant · 12 years ago
  95. 5106565 Add documentation regarding -fno-rtti. by Howard Hinnant · 12 years ago
  96. 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
  97. 0855dde Revert my _LIBCPP_INLINE_VISIBILITY changes, r157097 and r157107 by Douglas Gregor · 12 years ago
  98. f20f0d3 valarray resize should not be _LIBCPP_INLINE_VISIBILITY by Douglas Gregor · 12 years ago
  99. e9e4b85 Move _LIBCPP_VISIBLE_INLINE from the out-of-line definitions of member by Douglas Gregor · 12 years ago
  100. 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