Eric Fiselier
e7154709e0
Implement C++17 std::sample.
...
This patch implements the std::sample function added to C++17 from LFTS. It
also removes the std::experimental::sample implementation which now forwards
to std::sample.
llvm-svn: 279948
2016-08-28 22:14:37 +00:00
Eric Fiselier
2fc65041be
Implement LWG 2711. Constrain path members.
...
llvm-svn: 279945
2016-08-28 21:26:01 +00:00
Eric Fiselier
d04c685168
Remove trailing whitespace in test suite. Approved by Marshall Clow.
...
llvm-svn: 271435
2016-06-01 21:35:39 +00:00
Eric Fiselier
71c425f199
Add missing include to test_iterators.h
...
llvm-svn: 271074
2016-05-27 23:43:29 +00:00
Marshall Clow
64ca6868f5
Got the test backwards in r258279. Fixed that and de-tabbed
...
llvm-svn: 258281
2016-01-20 03:37:46 +00:00
Marshall Clow
9d10d27c67
Fix up the tests I added for string exceptions to be skipped when exceptions are disabled
...
llvm-svn: 258279
2016-01-20 03:19:15 +00:00
Marshall Clow
76b4afc040
Fix PR#25973 : 'basic_string::assign(InputIt, InputIt) doesn't provide the strong exception safety guarantee'. This turned out to be a pervasive problem in <string>, which required a fair amount of rework. Add in an optimization for when iterators provide noexcept increment/comparison/assignment/dereference (which covers many of the iterators in libc++). Reviewed as http://reviews.llvm.org/D15862
...
llvm-svn: 257682
2016-01-13 21:54:34 +00:00
Marshall Clow
e9ad58a76e
Since Eric poisoned the comma operator on all our test iterators, we no longer need 'comma_iterator'. Remove it from the test suite.
...
llvm-svn: 222238
2014-11-18 16:15:00 +00:00
Eric Fiselier
847ee13171
Fix use of operator comma in is_permutation and delete comma operator for test iterators.
...
The comma operators in the test iterators give better error messages when they
are deleted as opposed to not defined. Delete these functions when possible.
llvm-svn: 220715
2014-10-27 20:26:25 +00:00
Eric Fiselier
910285b238
[libcxx] Fix use of operator comma where the types can be user defined
...
Summary:
An evil user might overload operator comma. Use a void cast to make sure any user overload is not selected.
Modify all the test iterators to define operator comma.
Reviewers: danalbert, mclow.lists
Reviewed By: mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D5929
llvm-svn: 220706
2014-10-27 19:28:20 +00:00
Marshall Clow
29298664d9
Add include of <cassert> for the operator comma
...
llvm-svn: 217938
2014-09-17 04:09:35 +00:00
Marshall Clow
f1e473bad9
Create a 'comma_iterator' class that overloads operator, and asserts when it's called. Add tests to mismatch to make sure it can't be blindsided by such an evil iterator. More tests for other algorithms forthcoming. Thanks to STL for pointing this out at CppCon and Yakov Galka for opening LWG issue #2133
...
llvm-svn: 217902
2014-09-16 20:38:11 +00:00
Marshall Clow
354d39cabc
Add license headers to a bunch of libc++ files that were missing them. No functionality change. Fixes 18291. Thanks to Nico for the bug report and the patch.
...
llvm-svn: 199400
2014-01-16 16:58:45 +00:00
Howard Hinnant
e0fe3d2e96
War on tabs.
...
llvm-svn: 185865
2013-07-08 21:06:38 +00:00
Marshall Clow
4476100a2f
Made test output iterators have value_type of 'void'; matches ones in library
...
llvm-svn: 171980
2013-01-09 17:20:02 +00:00
Marshall Clow
322270842c
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
...
llvm-svn: 171594
2013-01-05 03:21:01 +00:00