summaryrefslogtreecommitdiffstats
path: root/libcxx/test
Commit message (Collapse)AuthorAgeFilesLines
* literal suffixes for std::chronoMarshall Clow2013-07-241-0/+59
| | | | llvm-svn: 187078
* Debug mode for unordered_set. I believe this to be fairly complete forHoward Hinnant2013-07-2335-52/+732
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | unordered_set, however it is not complete yet for unordered_multiset, unordered_map or unordered_multimap. There has been a lot of work done for these other three containers, however that work was done just to keep all of the tests passing. You can try this out with -D_LIBCPP_DEBUG2. You will have to link to a libc++.dylib that has been compiled with src/debug.cpp. So far, vector (but not vector<bool>), list, and unordered_set are treated. I hope to get the other three unordered containers up fairly quickly now that unordered_set is done. The flag _LIBCPP_DEBUG2 will eventually be changed to _LIBCPP_DEBUG, but not today. This is my second effort at getting debug mode going for libc++, and I'm not quite yet ready to throw all of the work under the first attempt away. The basic design is that all of the debug information is kept in a central database, instead of in the containers. This has been done as an attempt to have debug mode and non-debug mode be ABI compatible with each other. There are some circumstances where if you construct a container in an environment without debug mode and pass it into debug mode, the checking will get confused and let you know with a readable error message. Passing containers the other way: from debug mode out to a non-debugging mode container should be 100% safe (at least that is the goal). llvm-svn: 186991
* Implement string suffixes from N3642Marshall Clow2013-07-235-0/+129
| | | | llvm-svn: 186956
* Bill Fisher: This patch fixes a bug where std::regex in ECMAScript mode was ↵Howard Hinnant2013-07-231-0/+98
| | | | | | | | ignoring capture groups inside lookahead assertions. For example, matching /(?=(a))(a)/ to "a" should yield two captures: \1 = "a", \2 = "a" llvm-svn: 186954
* Fix a bug in std::fill_n where memset would end up being called in cases ↵Anders Carlsson2013-07-221-0/+53
| | | | | | | | when it shouldn’t. Reviewed by Howard. llvm-svn: 186875
* Make tuple's constructor and std::get<>(tuple) constexpr. Final stage of ↵Marshall Clow2013-07-2212-1/+204
| | | | | | fixing bug #16599. Thanks to Howard for the review and updates. llvm-svn: 186834
* Make std::get constexprMarshall Clow2013-07-178-4/+251
| | | | llvm-svn: 186525
* Add pointer format test for Windows.Howard Hinnant2013-07-161-1/+7
| | | | llvm-svn: 186472
* Bug 16599 part 2: Make std::pair's constructors and comparison operators ↵Marshall Clow2013-07-167-1/+95
| | | | | | (and make_pair) constexpr. llvm-svn: 186430
* Make std::forward and std::move (and std::move_if_noexcept) constexpr in C++14Marshall Clow2013-07-152-0/+13
| | | | llvm-svn: 186344
* Bill Fisher: This patch fixes an ill-formed comparison when parsing control ↵Howard Hinnant2013-07-151-12/+20
| | | | | | | | escapes, e.g. "\cA\ca". The code will now throw an error_escape exception for invalid control sequences like "\c:" or "\c". I've added the test cases to bad_escape.pass.cpp. llvm-svn: 186335
* A few fixes to tests for Windows port.Howard Hinnant2013-07-153-4/+5
| | | | llvm-svn: 186334
* Implement n3584 - Addressing Tuples by TypeMarshall Clow2013-07-139-0/+268
| | | | llvm-svn: 186237
* Port make_[un]signed tests to platforms where sizeof(wchar_t) == 2.Howard Hinnant2013-07-112-4/+4
| | | | llvm-svn: 186136
* Bill Fisher: This patch fixes a less likely case where '\b' can back up into ↵Howard Hinnant2013-07-111-0/+63
| | | | | | | | invalid memory, when driven by a regex_iterator (for case 1, see r185273 or http://llvm.org/bugs/show_bug.cgi?id=16240) The attached test program also supplies a test for the case 1 fix in r185273. llvm-svn: 186089
* Improved tests (and fixed a bug in the tests); thanks to Richard Smith for ↵Marshall Clow2013-07-101-2/+13
| | | | | | the suggestion llvm-svn: 186022
* Bill Fisher: This patch fixes a bug where regex_iterator doesn't indicate ↵Howard Hinnant2013-07-091-0/+38
| | | | | | | | when it's restarting in the middle of a string. This bug causes /^a/ to match in the middle of the string "aaaaaaa", during iteration. My patch uses to communicate when is false. llvm-svn: 185950
* War on tabs.Howard Hinnant2013-07-0817-221/+221
| | | | llvm-svn: 185865
* Implement n3668 - std::exchangeMarshall Clow2013-07-081-0/+47
| | | | llvm-svn: 185863
* Implement n3545 for c++14Marshall Clow2013-07-081-0/+5
| | | | llvm-svn: 185856
* Windows port for __codecvt_utf8<wchar_t>.Howard Hinnant2013-07-082-3/+3
| | | | llvm-svn: 185849
* Silence -Wint-to-void-pointer-cast warning in test.Howard Hinnant2013-07-061-2/+3
| | | | llvm-svn: 185756
* Remove implicit conversion from __value_type to value_type in ↵Howard Hinnant2013-07-052-0/+6
| | | | | | [unordered_][multi]map. This fixes http://llvm.org/bugs/show_bug.cgi?id=16549 llvm-svn: 185711
* Removed extension in [unordered_][multi]map which allowed one to emplace ↵Howard Hinnant2013-07-0410-32/+150
| | | | | | using just an argument for the key, as opposed to using piecewise_construct. However a bug report exposed that this created an unfortunate ambiguity. People who are currently using the extension will be notified the next time they compile, and will have to change to using piecewise_construct. There are no ABI issues with the removal of this extension. This fixes http://llvm.org/bugs/show_bug.cgi?id=16542 llvm-svn: 185666
* Simplify comparators of [unordered_][multi]map. This fixes ↵Howard Hinnant2013-07-042-0/+68
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=16538 llvm-svn: 185665
* Fix bashism.Joerg Sonnenberger2013-07-041-1/+1
| | | | llvm-svn: 185646
* Patch for N3655 (Transformation type traits) with Howard's additionsMarshall Clow2013-07-0448-591/+963
| | | | llvm-svn: 185597
* Constrain launch ~ operator to defined bits.Howard Hinnant2013-07-021-1/+1
| | | | llvm-svn: 185452
* Bill Fisher: This patch fixes a bug where the regex parser doesn't advance ↵Howard Hinnant2013-07-021-0/+28
| | | | | | | | the pointer after reading the third character of an octal escape (in awk mode). That is, regex{"\141", awk} results in the regular expression /a1/ instead of just /a/. llvm-svn: 185449
* XFAIL this test on 10.7 and 10.8Howard Hinnant2013-07-011-0/+3
| | | | llvm-svn: 185391
* Implement n3656 - make_unique. Thanks to Howard for the review and suggestions.Marshall Clow2013-07-016-0/+146
| | | | llvm-svn: 185352
* Implement n3658 - Compile-time integer sequencesMarshall Clow2013-07-016-0/+248
| | | | llvm-svn: 185343
* In istream::ignore, check the delimeter as an int_type, not as a char_type, ↵Howard Hinnant2013-07-011-0/+34
| | | | | | so as to correctly handle EOF. This fixes http://llvm.org/bugs/show_bug.cgi?id=16427 llvm-svn: 185298
* The bind and function functor constructors and assignment operators were ↵Howard Hinnant2013-07-011-0/+35
| | | | | | overly general and getting confused with the copy constructor and copy assignment operators. Constrained them. This fixes http://llvm.org/bugs/show_bug.cgi?id=16385 llvm-svn: 185297
* Fix bind by making _is_valid_bind_return more robust. It should return ↵Howard Hinnant2013-06-301-0/+51
| | | | | | false instead of give a compile time error, always. The problem was down in ____mu_return, the version that handles nested bind objects. This fixes http://llvm.org/bugs/show_bug.cgi?id=16343 llvm-svn: 185289
* Add operators to make launch a bitmask type. Searched all of the standard, ↵Howard Hinnant2013-06-291-0/+16
| | | | | | and libc++ to see if this error occurred elsewhere and didn't see any other place. This fixes http://llvm.org/bugs/show_bug.cgi?id=16207 llvm-svn: 185265
* Provide missing '{' in parsing extended quoted characters. This fixes ↵Howard Hinnant2013-06-281-0/+72
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=16135 llvm-svn: 185211
* William Fisher: A bug in __lookahead::exec causes /(?=^)b/ to match ab. ↵Howard Hinnant2013-06-281-0/+28
| | | | | | When makes a recursive call to , it passes true for the value of . This causes a beginning-of-line anchor (^) inside a lookahead assertion to match anywhere in the text. This fixes http://llvm.org/bugs/show_bug.cgi?id=11118 llvm-svn: 185196
* Bill Fisher: Fix for failing to throw an exception in regex when parsing an ↵Howard Hinnant2013-06-281-0/+37
| | | | | | invalid escape sequence. This fixes http://llvm.org/bugs/show_bug.cgi?id=16023 llvm-svn: 185192
* Implement full support for non-pointer pointers in custom allocators for ↵Howard Hinnant2013-06-28150-483/+4957
| | | | | | string. This completes the custom pointer support for the entire library. llvm-svn: 185167
* Implement full support for non-pointer pointers in custom allocators for vector.Howard Hinnant2013-06-2795-31/+1655
| | | | llvm-svn: 185093
* Implement full support for non-pointer pointers in custom allocators for list.Howard Hinnant2013-06-2564-4/+1857
| | | | llvm-svn: 184859
* Implement full support for non-pointer pointers in custom allocators for ↵Howard Hinnant2013-06-2455-26/+1555
| | | | | | forward_list. llvm-svn: 184759
* Implement full support for non-pointer pointers in custom allocators for deque.Howard Hinnant2013-06-2346-275/+915
| | | | llvm-svn: 184673
* Implement full support for non-pointer types in custom allocators. This is ↵Howard Hinnant2013-06-22225-13/+10211
| | | | | | for the unordered containers only. This work still needs to be done on the sequence containers. llvm-svn: 184635
* Implement full support for non-pointer types in custom allocators. This is ↵Howard Hinnant2013-06-19145-123/+6813
| | | | | | for the associative containers only. This work still needs to be done on the unordered and sequence containers. Fixes http://llvm.org/bugs/show_bug.cgi?id=15978 llvm-svn: 184358
* Test case for r183481.Howard Hinnant2013-06-071-0/+20
| | | | llvm-svn: 183522
* Fix a couple of bugs in linear_congruential_engine::seed. Regression test ↵Howard Hinnant2013-05-211-0/+8
| | | | | | added. llvm-svn: 182421
* Remove cv qualifiers from member pointers in the __member_pointer_traits ↵Howard Hinnant2013-05-151-0/+18
| | | | | | test. This was causing a const-qualified bind result to malfunction. This was a recent regression due to the new use of __member_pointer_traits in restricting the __invokable and __invoke_of tests. llvm-svn: 181935
* XFAIL this test when using the darwin12 system library. Reviewed by HowardDavid Dean2013-05-101-0/+1
| | | | llvm-svn: 181610
OpenPOWER on IntegriCloud