1. 90d8723 Apply constexpr to <bitset>. by Howard Hinnant · 12 years ago
  2. 74f26f2 Apply noexcept to tuple. by Howard Hinnant · 12 years ago
  3. 4eebfc3 As a conforming extension give tuple a noexcept default constructor conditionalized on its held types. by Howard Hinnant · 12 years ago
  4. 5394c1e Give tuple a constexpr default constructor. by Howard Hinnant · 12 years ago
  5. a0b5bef New Windows libc++ test results provided by Ruben Van Boxem. by Howard Hinnant · 12 years ago
  6. 9b12f23 Apply noexcept to those functions implemented in <cstdlib> as a conforming extension. by Howard Hinnant · 12 years ago
  7. cac0c46 Apply noexcept to those functions implemented in <cmath> as a conforming extension. by Howard Hinnant · 12 years ago
  8. 71499ad Add noexcept test for offsetof macro per [support.types]/p4. by Howard Hinnant · 12 years ago
  9. 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
  10. 820e007 link to Marshall's notes. by Howard Hinnant · 12 years ago
  11. 518d150 mark operator new(std::nothrow) as noalias (aka __attribute__((malloc)) by Nuno Lopes · 12 years ago
  12. 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
  13. 67c8082 fix help with bash by Nuno Lopes · 12 years ago
  14. 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
  15. f9b6e7e Fix warning flags for CMake builds, from Andrew C. Morrow! by Douglas Gregor · 12 years ago
  16. caee2b0 Fix a few testsuite bugs involving trailing null (or lack thereof) in strstream. by Howard Hinnant · 12 years ago
  17. dbd9eac Fix dangling else clause. Bug found and fixed by Dimitry Andric. by Howard Hinnant · 12 years ago
  18. 6467aeb Fix the new _ALIGNAS_TYPE per instructions supplied by Eli Friedman. by Howard Hinnant · 12 years ago
  19. cbdd089 Protect use of alignas against older versions of clang by Howard Hinnant · 12 years ago
  20. 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
  21. 3e3e5eb Fix memory corruption bug found and fixed by Andrew C. Morrow. by Howard Hinnant · 12 years ago
  22. 5106565 Add documentation regarding -fno-rtti. by Howard Hinnant · 12 years ago
  23. 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
  24. 0855dde Revert my _LIBCPP_INLINE_VISIBILITY changes, r157097 and r157107 by Douglas Gregor · 12 years ago
  25. f20f0d3 valarray resize should not be _LIBCPP_INLINE_VISIBILITY by Douglas Gregor · 12 years ago
  26. e9e4b85 Move _LIBCPP_VISIBLE_INLINE from the out-of-line definitions of member by Douglas Gregor · 12 years ago
  27. 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
  28. ffa7fbe Fix several bugs in find/count specialized for bits. by Howard Hinnant · 12 years ago
  29. b3cf4b5 Add friends __count_bool_true and __count_bool_false to __bit_iterator. by Howard Hinnant · 12 years ago
  30. f867f63 SFINAE __bit_iterator such that it will only get instantiated with a container that has the nested type __storage_type. This prevents accidental instantiation such as in http://llvm.org/bugs/show_bug.cgi?id=12755. This fixes http://llvm.org/bugs/show_bug.cgi?id=12755. by Howard Hinnant · 12 years ago
  31. d2da6d2 Constrain __bind functor constructor such that it won't accidentally get used as a copy constructor from a non-const lvalue. Fixes <rdar://problem/11359080>. by Howard Hinnant · 12 years ago
  32. f07a529 Change std::abs from a template function to three overloads for float, double and long double. by Howard Hinnant · 12 years ago
  33. 87073e4 Greatly scale back ambitions of emulating move semantics in C++03 mode. It was causing more problems than it solved. This fixes http://llvm.org/bugs/show_bug.cgi?id=12704. by Howard Hinnant · 12 years ago
  34. c756f5b libc++: only #include <cxxabi.h> if it exists. This allows libc++ to build by Richard Smith · 12 years ago
  35. 9efdc0b libc++: Add some missing #includes to atomics tests. libc++ doesn't need these by Richard Smith · 12 years ago
  36. 300c67a Apply noexcept and constexpr to <atomic>. by Howard Hinnant · 12 years ago
  37. 6186c7f Switch libc++ from __atomic_* builtins to __c11_atomic_* builtins. by Richard Smith · 12 years ago
  38. b229209 Now that clang supports doing the right thing with regard to atomic by David Chisnall · 12 years ago
  39. d3eca75 Fix the remaining atomic tests, all of which were wrong for the case where a by David Chisnall · 12 years ago
  40. 1ee87fa Fix test cases that were trying to make atomic things that are not trivially copyable. by David Chisnall · 12 years ago
  41. 0341c82 Fix use of __atomic_is_lock_free() intrinsic. by David Chisnall · 12 years ago
  42. 616e92d Put std::piecewise_construct_t back into the dylib for ABI stability. When clients are in C++11/constexpr mode this will be safely ignored because piecewise_construct is then declared with internal linkage. by Howard Hinnant · 12 years ago
  43. 2a5349b constexpr support for <utility>. Patch contributed by Jonathan Sauer. by Howard Hinnant · 12 years ago
  44. 271a1c0 Updated documentation contributed by Christopher Jefferson. by Howard Hinnant · 12 years ago
  45. 8efd3da Update <random> with constexpr support. Patch contributed by Jonathan Sauer. by Howard Hinnant · 12 years ago
  46. 60cb7d2 Update <limits> with constexpr support. Patch contributed by Jonathan Sauer. by Howard Hinnant · 12 years ago
  47. 2cf89a7 Fix test for default constructor of discrete_distribution. This partially addresses http://llvm.org/bugs/show_bug.cgi?id=12436. by Howard Hinnant · 12 years ago
  48. 27b4fd3 This is an initial commit of constexpr support as proposed by Richard Smith. This by no means completes constexpr support. Indeed, it hardly scratches the surface. All it does is lay the foundation in <__config> and changes those few places in the library that are already using that foundation. by Howard Hinnant · 12 years ago
  49. dc1345f I believe tuple is still under development in the standard. Daniel Krugler is/will be making convincing arguments that a modified form of LWG 2051 (currently NAD Future) is easily acheivable and desirable. He has demonstrated that a tuple<T...> where all of the T are implicitly convertible from U... should have a tuple constructor that is also implicit, instead of explicit. This would support the use cases in LWG 2051 while not undermining T... with explicit conversions from U.... This check-in is an experimental implementation of Daniel's work. I believe this work to be mature enough to warrant inclusion into libc++. If anyone sees real-world problems that this check in causes, please let me know and I will revert it, and provide the feedback to the LWG. by Howard Hinnant · 12 years ago
  50. 9aa4e11 It appears that the standard accidentally removed the default constructor for error_category. I'm putting it back in. This fixes http://llvm.org/bugs/show_bug.cgi?id=12321. by Howard Hinnant · 12 years ago
  51. 87c61a6 Allow libc++ to be built with CMake from within the LLVM tree. The libc++ part is just some renaming as the variable was already in use, conflicting with something else in the LLVM tree. Contributed by Ruben Van Boxem. by Howard Hinnant · 12 years ago
  52. 1378397 Alter the terminal streams such that they do not get added to the atexit chain, and thus never get destructed. by Howard Hinnant · 12 years ago
  53. 21a84cf Undo some overzealous #ifdefs for LIBCXXRT. by David Chisnall · 12 years ago
  54. f2533a8 Make sure [at_]quick_exit is in std:: by David Chisnall · 12 years ago
  55. b407d45 Don't refer to a function that doesn't exist in the quick_exit test. by David Chisnall · 12 years ago
  56. 558ae17 Fix moneypunct_byname algorithm to more accurately represent C locales in C++. by Jeffrey Yasskin · 12 years ago
  57. 05b57d5 Change some smart_ptr == 0 to smart_ptr == nullptr. Fixes http://llvm.org/bugs/show_bug.cgi?id=12185. by Howard Hinnant · 12 years ago
  58. b56a4ad Define _WCHAR_T in solaris/wchar.h. This fixes a bug where Solaris 10 headers by David Chisnall · 12 years ago
  59. b6e7c30 Fix MSVC / Sun #ifdef ordering. Remove another #if-nothing-#endif. by David Chisnall · 12 years ago
  60. 26cba27 Remove a spurious #ifdef / #endif pair with nothing between them. by David Chisnall · 12 years ago
  61. fcbaf48 Add a warning to ctype<char>::classic_table() if not implemented. by Howard Hinnant · 12 years ago
  62. d0ed21e I'm reverting one of the changes made to exception.cpp in r151717. I'm unsure what the change was trying to do, but it didn't do the right thing for __APPLE__. So instead of trying to guess what was intended, I'm just putting it back the way it was. by Howard Hinnant · 12 years ago
  63. ea27419 Add support files required for building on Solaris. by David Chisnall · 12 years ago
  64. 997e454 Solaris port. Currently sees around 200 test failures, mostly related to by David Chisnall · 12 years ago
  65. f2b2cc6 Make the failure reporting in testit a bit more useful. by David Chisnall · 12 years ago
  66. 8fa14e9 Don't define __locale_raii if we are not going to be using it. by David Chisnall · 12 years ago
  67. 1e8b3f9 Some libcxxrt-compatibility cleanups (avoid defining things twice). by David Chisnall · 12 years ago
  68. 4a13b2d Reduce the number of move constructions when constructing a std::function. This fixes http://llvm.org/bugs/show_bug.cgi?id=12105. by Howard Hinnant · 12 years ago
  69. 0438ea2 vector::emplace_back was mistakenly requiring move assignable. Fixed that and did a little drive-by optimization at the same time. This fixes http://llvm.org/bugs/show_bug.cgi?id=12085. by Howard Hinnant · 12 years ago
  70. a231c37 update test for explicit bool operator. by Howard Hinnant · 12 years ago
  71. 9d84832 At least temporarily move operator new/delete from the abi back to here. I'm having trouble reexporting it as a weak symbol. by Howard Hinnant · 12 years ago
  72. 8417c46 ReExport some mor symbols from libc++abi. by Howard Hinnant · 12 years ago
  73. 896baa2 Silence some warnings in a test. by Howard Hinnant · 12 years ago
  74. 4300839 Hook up to the new clang __is_trivially_constructible and __is_trivially_assignable traits. Fixes r10925427 and http://llvm.org/bugs/show_bug.cgi?id=12038. by Howard Hinnant · 12 years ago
  75. b9344c2 Use Xcode relative compilers when possible by Dave Zarzycki · 12 years ago
  76. 7786188 Modernize conversion to bool to the explicit bool conversion operator (library wide). This fixes http://llvm.org/bugs/show_bug.cgi?id=12058. by Howard Hinnant · 12 years ago
  77. 3fadda3 Modernize relational operators for shared_ptr and unique_ptr. This includes adding support for nullptr, and using less<T*>. Fixes http://llvm.org/bugs/show_bug.cgi?id=12056. by Howard Hinnant · 12 years ago
  78. d41b60b Add missing newlines at EOF. by Bob Wilson · 12 years ago
  79. 335b151 Silence -Wmissing-field-initializers a little higher in the source. by Howard Hinnant · 12 years ago
  80. e0c3b1e Add myself to the CREDITS file. by Jeffrey Yasskin · 12 years ago
  81. 3074a05 Initialize all the fields of struct tm before passing it to strftime. One of the uninitialized fields, probably the pointer field tm_zone, was causing a segfault on linux. Patch contributed by Jeffrey Yasskin. by Howard Hinnant · 12 years ago
  82. 6df1412 Relax pointer output test to accept glibc's output. Patch supplied by Jeffrey Yasskin. by Howard Hinnant · 12 years ago
  83. 3508b38 Give the emulated nullptr_t a default constructor. by Howard Hinnant · 12 years ago
  84. 01198b3 Exercise rvalue arguements to make_shared for C++11 mode. by Howard Hinnant · 12 years ago
  85. e1642e1 Move typeinfos for exceptions in <stdexcept> to the abi by Howard Hinnant · 12 years ago
  86. 1e9f55f Use __is_polymorphic if available. This fixes http://llvm.org/bugs/show_bug.cgi?id=11983 . Patch contributed by Jonathan Sauer. by Howard Hinnant · 12 years ago
  87. 2848444 tuple was accidentally lacking a valid copy assignment operator. It went undetected because I had failed to test assigning from a const lvalue. This fixes http://llvm.org/bugs/show_bug.cgi?id=11921 by Howard Hinnant · 12 years ago
  88. b04ad41 Do not parse sign if a sign is not the next legal character when parsing floating point from an input stream. Fixes http://llvm.org/bugs/show_bug.cgi?id=11871 by Howard Hinnant · 12 years ago
  89. d7a2ad6 Another stab at fixing http://llvm.org/bugs/show_bug.cgi?id=12007. I earlier missed that there are two common_type definitions and corrected only one of them. by Howard Hinnant · 12 years ago
  90. e5285fd Remove reference from common_type definition. It looks like a recent clang decltype implementation got fixed/improved and exposed this. Fixes http://llvm.org/bugs/show_bug.cgi?id=12007. by Howard Hinnant · 12 years ago
  91. b0bfd9b Implement a few optimizations for vector push_back and insert. Fixes r10828365. by Howard Hinnant · 12 years ago
  92. 5f3f35f Provide a move(const T&) overload for C++03 mode to enable moving from rvalues. This is to support proxy references. Fixes r10858112. by Howard Hinnant · 12 years ago
  93. 982331b Fix up narrowing conversions in switch statement. by Howard Hinnant · 12 years ago
  94. 67872dd Make attributes on definition consistent with those on declaration. by Howard Hinnant · 12 years ago
  95. 3c8432f Added some more symbols to the v2 rexport list. by Howard Hinnant · 12 years ago
  96. dea7f39 Prepare for running on top of new libc++abi. by Howard Hinnant · 12 years ago
  97. b1bc0c4 Explicitly convert int to future_errc. Fixes http://llvm.org/bugs/show_bug.cgi?id=11428 by Howard Hinnant · 12 years ago
  98. 1dd5ccf Fix .PHONY target to match new installheaders target. by Bob Wilson · 13 years ago
  99. a187787 Enable full functionality of shared_ptr<const void> by adding allocator<const void>. Credit to John Hurley for discovering this bug. by Howard Hinnant · 13 years ago
  100. 6e4971f Added installheaders target. by Howard Hinnant · 13 years ago