1. 9976b55 This is a start at making the libc++ test suite friendlier to the -fnoexceptions flag. Although this is not a complete solution, it does reduce the number of test failures on OS X from 467 to 128 on OS X when -fno-exceptions is enabled, and does not impact the number of failures at all when -fno-exceptions is not enabled. The bulk of this code was donated anonymously. by Howard Hinnant · 12 years ago
  2. 06d8bf6 Test cleanup with respect to use of deprecated tmpnam function. Also Windows port for these tests to use _tempnam. The bulk of this patch was donated anonymously. I've tested it on OS X and accept responsibility for it. If I've broken anyone's platform by switching from tmpnam to mktemp for the generation of temporary file names, just let me know. Should be easy to fix in test/support/platform_support.h by Howard Hinnant · 12 years ago
  3. bdea27b Fix bug in test; found by AddressSanitizer by Marshall Clow · 12 years ago
  4. c19fe86 Fix bug in test; found by AddressSanitizer by Marshall Clow · 12 years ago
  5. dece7fe Removed raw references to __APPLE__; now just check to see if it is defined. by Marshall Clow · 12 years ago
  6. a22d2ad Removed raw references to _WIN32; now just check to see if it is defined. by Marshall Clow · 12 years ago
  7. 6319f14 Parsing floating point numbers with very long precision was broken, and this patch fixes it. This fixes http://llvm.org/bugs/show_bug.cgi?id=15445. by Howard Hinnant · 12 years ago
  8. 76aa2ef Fix a bug in mutex_try_to_lock. This was previously trying to unlock a mutex that it didn't own, causing an assertion failure in mutex.cpp. The issue was that the unique_lock went out of scope, releasing the lock on m, then m.unlock() was called on an already-unlocked mutex. by David Chisnall · 12 years ago
  9. 3bc6a98 [tests] Add support for a link_flags lit parameter. by Daniel Dunbar · 12 years ago
  10. 6b875ef [tests] Another batch of timeout increases. by Daniel Dunbar · 12 years ago
  11. 8eba413 [tests] Another batch of timeout increases. by Daniel Dunbar · 12 years ago
  12. 1608b64 [tests] Add back stdc macros I accidentally refactored out. by Daniel Dunbar · 12 years ago
  13. fe14b97 [tests] Increase a bunch of wait limits. by Daniel Dunbar · 12 years ago
  14. 66a48c5 Give a lot more timing latitude to some of the timing tests. Busy buildbots are hitting the timing limits too often. by Howard Hinnant · 12 years ago
  15. 7fa0ca7 [tests] Infer the cxx_under_test (as clang++). by Daniel Dunbar · 12 years ago
  16. 88dec1e [tests] Change test default to run against locally built library. by Daniel Dunbar · 12 years ago
  17. 6b8b992 [tests] Enable use_system_lib support on Linux. by Daniel Dunbar · 12 years ago
  18. cedb7fc [tests] One last batch of XFAILs, for tests using new symbols added to libc++. by Daniel Dunbar · 12 years ago
  19. 5f4841f [tests] Accept XFAIL arguments that match any part of a feature. by Daniel Dunbar · 12 years ago
  20. 43807c2 [tests] XFAIL some locale tests that don't seem to work on any Darwin. by Daniel Dunbar · 12 years ago
  21. 4cceb7a [tests] If no explicit target triple is given, try to infer it. by Daniel Dunbar · 12 years ago
  22. 8b9eee3 [tests] Mark another stream input expected failure (with system libc++). by Daniel Dunbar · 12 years ago
  23. 548d392 [tests] Mark another stream input expected failure (with system libc++). by Daniel Dunbar · 12 years ago
  24. c8e1889 [tests] Mark some string.conversions expected failures (with system libc++). by Daniel Dunbar · 12 years ago
  25. edfb053 [tests] XFAIL a few things that require libc (?) support missing on Darwin. by Daniel Dunbar · 12 years ago
  26. aac8dd8 [tests] Mark some istream.unformatted expected failures (with system libc++). by Daniel Dunbar · 12 years ago
  27. a5b5196 [tests] Add an available feature that combines the triple and use_system_lib. by Daniel Dunbar · 12 years ago
  28. 81d1ef7 [tests] Add support for REQUIRES and XFAIL lines in libc++ tests. by Daniel Dunbar · 12 years ago
  29. cccf255 [tests] Add a 'use_system_lib' parameter. by Daniel Dunbar · 12 years ago
  30. 5ce391e Make a few tests optimization-proof. These tests were failing under -O3 because the optimizer was eliminating the call to new. by Howard Hinnant · 12 years ago
  31. b05a556 Make <cmath> classification macros work with integral types. by Howard Hinnant · 12 years ago
  32. 3e3ae9e Fix string conversions functions to throw out_of_range properly. Fixes http://llvm.org/bugs/show_bug.cgi?id=14919. by Howard Hinnant · 12 years ago
  33. b4ebb0e Michael van der Westhuizen: Improve support for testing on Linux. Fixes http://llvm.org/bugs/show_bug.cgi?id=14892. by Howard Hinnant · 12 years ago
  34. 750039f Michael van der Westhuizen: Patches for Linux. Fixes http://llvm.org/bugs/show_bug.cgi?id=14648. by Howard Hinnant · 12 years ago
  35. f619e23 Fix exception safety bug in vector::push_back by Howard Hinnant · 12 years ago
  36. 304c31b Made test output iterators have value_type of 'void'; matches ones in library by Marshall Clow · 12 years ago
  37. 83e2c4d Move common header files into a 'support' directory; make 'testit' include -I to that directory; rename 'iterators.h' to 'iterator_test.h'; remove hard-coded paths to include files from more than 350 source files by Marshall Clow · 12 years ago
  38. 6ae4705 atomic_bool was missing (just a typedef to atomic<bool>). by Howard Hinnant · 12 years ago
  39. 8226d0b ...and then there was one. Only one copy of 'iterators.h' in the test tree for libc++ by Marshall Clow · 12 years ago
  40. 239e341 Removed another copy of 'iterators.h' files in libcxx/test by Marshall Clow · 12 years ago
  41. ba1920f Removed several more different 'iterators.h' files in libcxx/test by Marshall Clow · 12 years ago
  42. 002a984 Removed 7 (of 8) different 'iterators.h' files in test/localization by Marshall Clow · 12 years ago
  43. 352bd3a Klaas de Vries: Fix bug in libc++'s std::string::find_first_not_of. by Howard Hinnant · 12 years ago
  44. 3793a7d Test case for http://llvm.org/bugs/show_bug.cgi?id=14670. by Howard Hinnant · 12 years ago
  45. a46482e Added static_assert to std::get<N>(std::array) calls to catch "out of bounds" calls by Marshall Clow · 12 years ago
  46. 0a69fa1 Zhang Xiongpang: Add definitions for const data members. Fixes http://llvm.org/bugs/show_bug.cgi?id=14585. by Howard Hinnant · 12 years ago
  47. 7fa77a7 Modify testit to use the local headers and lib. Thanks go to Jeffrey Yasskin. by Howard Hinnant · 12 years ago
  48. af01e70 tests/lit: Change test default parameters to assume local build. by Daniel Dunbar · 12 years ago
  49. 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
  50. 6886dd1 Loosen up the timing requirements on 4 more tests. by Howard Hinnant · 12 years ago
  51. 069bdd5 Andrew Morrow: There are two tests under test/utilities/memory that heap allocate two by Howard Hinnant · 12 years ago
  52. 63b2f4f Andrew Morrow: The attached patch updates the lit.config for libc++ unit tests so by Howard Hinnant · 12 years ago
  53. 6d39f9f Andrew Morrow: This patch fixes by Howard Hinnant · 12 years ago
  54. 5fec82d Implement [util.smartptr.shared.atomic]. This is the last unimplemented by Howard Hinnant · 12 years ago
  55. 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
  56. 499c61f noexcept and constexpr applied to <mutex>. by Howard Hinnant · 12 years ago
  57. f57bd56 noexcept and constexpr applied to <ios>. by Howard Hinnant · 12 years ago
  58. 410f2de constexpr applied to <complex>. 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. 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
  63. 473f838 Applied constexpr to <chrono>. by Howard Hinnant · 12 years ago
  64. 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
  65. d586248 Add test for self-referencing emplace test. by Howard Hinnant · 12 years ago
  66. 90d8723 Apply constexpr to <bitset>. by Howard Hinnant · 12 years ago
  67. 5394c1e Give tuple a constexpr default constructor. by Howard Hinnant · 12 years ago
  68. 71499ad Add noexcept test for offsetof macro per [support.types]/p4. by Howard Hinnant · 12 years ago
  69. 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
  70. caee2b0 Fix a few testsuite bugs involving trailing null (or lack thereof) in strstream. by Howard Hinnant · 12 years ago
  71. 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
  72. 9efdc0b libc++: Add some missing #includes to atomics tests. libc++ doesn't need these by Richard Smith · 13 years ago
  73. d3eca75 Fix the remaining atomic tests, all of which were wrong for the case where a by David Chisnall · 13 years ago
  74. 1ee87fa Fix test cases that were trying to make atomic things that are not trivially copyable. by David Chisnall · 13 years ago
  75. 8efd3da Update <random> with constexpr support. Patch contributed by Jonathan Sauer. by Howard Hinnant · 13 years ago
  76. 2cf89a7 Fix test for default constructor of discrete_distribution. This partially addresses http://llvm.org/bugs/show_bug.cgi?id=12436. by Howard Hinnant · 13 years ago
  77. 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 · 13 years ago
  78. 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 · 13 years ago
  79. b407d45 Don't refer to a function that doesn't exist in the quick_exit test. by David Chisnall · 13 years ago
  80. 558ae17 Fix moneypunct_byname algorithm to more accurately represent C locales in C++. by Jeffrey Yasskin · 13 years ago
  81. f2b2cc6 Make the failure reporting in testit a bit more useful. by David Chisnall · 13 years ago
  82. a231c37 update test for explicit bool operator. by Howard Hinnant · 13 years ago
  83. 896baa2 Silence some warnings in a test. by Howard Hinnant · 13 years ago
  84. 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 · 13 years ago
  85. b9344c2 Use Xcode relative compilers when possible by Dave Zarzycki · 13 years ago
  86. 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 · 13 years ago
  87. 6df1412 Relax pointer output test to accept glibc's output. Patch supplied by Jeffrey Yasskin. by Howard Hinnant · 13 years ago
  88. 01198b3 Exercise rvalue arguements to make_shared for C++11 mode. by Howard Hinnant · 13 years ago
  89. 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 · 13 years ago
  90. 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 · 13 years ago
  91. 8e50a9c Remove quotes from locale name identifier. Credit Edward Meewis. by Howard Hinnant · 13 years ago
  92. 40c13d3 Starting using murmur2 when combining multiple size_t's into a single hash, and also for basic_string. Also made hash<thread::id> ever so slighly more portable. I had to tweak one test which is questionable (definitely not portable) anyway. by Howard Hinnant · 13 years ago
  93. f836d53 unord test fixes by Edward Meewis by Howard Hinnant · 13 years ago
  94. f6d875f Fix http://llvm.org/bugs/show_bug.cgi?id=11428. Fix provided by Alberto Ganesh Barbati by Howard Hinnant · 13 years ago
  95. ce6884c Fix ratio arithmetic with zero by Howard Hinnant · 13 years ago
  96. b97de44 Fix <rdar://problem/10256836> getline of an empty string mistakenly causes failure by Howard Hinnant · 13 years ago
  97. c6fe8ca Fix <rdar://problem/10255403> match_results::begin() is off by one by Howard Hinnant · 13 years ago
  98. c0d0cba Windows porting work by Ruben Van Boxem by Howard Hinnant · 13 years ago
  99. 8452d21 Updated testit to run on Windows and fresh Windows results by Ruben Van Boxem by Howard Hinnant · 13 years ago
  100. 1c3ec6d Another installment on debug mode. This addresses list. However this should be considered a temporary state. The API of the debug database and how vector and list use it, is unsatisfactory at the moment. It is both inefficient and overly verbose. I wanted to get this functionality checked in though. In the next day or so I'll refactor what is there in an attempt to streamline things. by Howard Hinnant · 13 years ago