Marshall Clow
949389c395
We had two identical files named 'MoveOnly.h' in the test suite. Move one to support/, remove the other, and update all the tests that included them. No functionality change.
...
llvm-svn: 227370
2015-01-28 21:22:53 +00:00
Marshall Clow
d5f461ca03
Fix PR22366. When move-constructing an associative container and explicitly passing an allocator that compares different, we were not calling the destructor of the elements in the moved-from container.
...
llvm-svn: 227359
2015-01-28 19:54:25 +00:00
Eric Fiselier
9ec188db33
Fix definition of __has_feature in r227263
...
llvm-svn: 227264
2015-01-27 23:05:41 +00:00
Eric Fiselier
5a4ee414d8
Ensure __has_feature is defined in test/support/count_new.hpp
...
llvm-svn: 227263
2015-01-27 23:03:38 +00:00
Eric Fiselier
2cbc654d93
[libcxx] Consolidate new/delete replacement in tests and disable it when using sanitizers.
...
Summary:
MSAN and ASAN also replace new/delete which leads to a link error in these tests. Currently they are unsupported but I think it would be useful if these tests could run with sanitizers.
This patch creates a support header that consolidates the new/delete replacement functionality and checking.
When we are using sanitizers new and delete are no longer replaced and the checks always return true.
Reviewers: mclow.lists, danalbert, jroelofs, EricWF
Reviewed By: EricWF
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D6562
llvm-svn: 224741
2014-12-22 22:38:59 +00:00
Jonathan Roelofs
963bdd7c0a
Fix platform_support.h's get_temp_file_name() on Newlib under __STRICT_ANSI__
...
llvm-svn: 224057
2014-12-11 20:56:40 +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
c8528b5001
Whitespace maintenance. Remove a bunch of tabs that snuck in. No functionality change
...
llvm-svn: 220142
2014-10-18 11:03:33 +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
Dan Albert
0bb696800f
PR20546: Fix tests for compare_exchange_weak.
...
These calls are allowed to fail spuriously.
29.6.5.25:
Remark: A weak compare-and-exchange operation may fail spuriously.
That is, even when the contents of memory referred to by expected
and object are equal, it may return false and store back to expected
the same memory contents that were originally there. [ Note: This
spurious failure enables implementation of compare and-exchange on a
broader class of machines, e.g., load-locked store-conditional
machines. A consequence of spurious failure is that nearly all uses
of weak compare-and-exchange will be in a loop.
To fix this, we replace any assert() that expects
std::atomic::compare_exchange_weak() to return true with a loop. If the
call does not return true within N runs (with N currently equal to 10),
then the test fails.
http://llvm.org/bugs/show_bug.cgi?id=20546
llvm-svn: 217319
2014-09-06 20:38:25 +00:00
Kostya Serebryany
3f0e834842
[asan] Make vector asan annotations exception-friendly
...
Fix vector asan annotations with RAII.
Add a test.
Also, remove one dead function.
Review: http://reviews.llvm.org/D4170
llvm-svn: 216995
2014-09-02 23:43:38 +00:00
Eric Fiselier
ab79a7a98b
fix missing include for ::close in platform_support.h
...
llvm-svn: 215998
2014-08-19 17:52:40 +00:00
Jonathan Roelofs
1542a60c0b
Give libcxx tests temporary filenames that are actually unique.
...
This fixes a race condition on temp file name creation.
http://reviews.llvm.org/D4962
llvm-svn: 215977
2014-08-19 13:56:56 +00:00
Eric Fiselier
e3981b8fac
Add bare_allocator archetype that implements the minimal possible allocator interface.
...
llvm-svn: 215691
2014-08-15 04:15:41 +00:00
Marshall Clow
90ba0533cd
Fix PR#202520 - predicate called too many times in list::remove_if. Add tests for list, forward_list, and the std::remove_if algorithm
...
llvm-svn: 214736
2014-08-04 17:32:25 +00:00
Eric Fiselier
d1854f9cb1
test commit
...
llvm-svn: 213887
2014-07-24 18:41:56 +00:00
Marshall Clow
79d4ffbc8f
Add a reset method to the counting predicates in the test suite
...
llvm-svn: 212651
2014-07-09 21:04:22 +00:00
Marshall Clow
d0817f526c
Mark assign to be constepr only in c++14; can't have constexpr fns that return void in C++11
...
llvm-svn: 210562
2014-06-10 18:52:57 +00:00
Marshall Clow
57e06dfb41
Testing infastructure: A template for char_traits where all the functions are constexpr, and a comparison predicate which counts how many times it's been called.
...
llvm-svn: 210381
2014-06-06 22:33:40 +00:00
Marshall Clow
5c520bd985
Add Address Sanitizer support to std::vector
...
llvm-svn: 208319
2014-05-08 14:14:06 +00:00
Marshall Clow
5f7c2db2ce
Bug #19473 . If you pass an allocator to std::function, we should use that allocator, not construct one from scratch. Add a test to make sure
...
llvm-svn: 206623
2014-04-18 17:23:36 +00:00
Marshall Clow
f519be343b
Implement LWG 2324: Insert iterator constructors should use addressof(). Add two new container classes to the test suite that overload operator &, and add test cases to the insert/front_insert/back_insert iterator tests that use these containers.
...
llvm-svn: 202741
2014-03-03 19:20:40 +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
Marshall Clow
c3deeb5f89
Found six (nmostly) identical files named 'test_allocator.h' in the libcxx test suite. Moved one to /support, made it a superset, and removed all but one of the others, and iupdated all the includes. Left the odd one (thread/futures/test_allocator.h) for later.
...
llvm-svn: 196174
2013-12-03 00:18:10 +00:00
Marshall Clow
e7d582a75c
Found two identical files named 'allocators.h' in the libcxx test suite. Moved one to /support, removed the other, and iupdated all the includes. No functionality change
...
llvm-svn: 196127
2013-12-02 18:08:31 +00:00
Marshall Clow
a26fcc7989
Found two identical files named 'DefaultOnly.h' in the libcxx test suite. Moved one to /support, removed the other, and iupdated all the includes. No functionality change
...
llvm-svn: 196118
2013-12-02 17:00:56 +00:00
Marshall Clow
e34f6f6a12
There were two identical files named 'min_allocator.h'. Move one of them to /support and delete the other. Then adjust all the tests that used them to include the moved one. No functionality change.
...
llvm-svn: 195785
2013-11-26 20:58:02 +00:00
Howard Hinnant
6d48bdd2a8
G M: 1. It changes the temp file handling to use the template and the current directory for windows, matching how it works on other platforms.
...
2. It re-enables the temp file handling for mingw that regressed.
llvm-svn: 192073
2013-10-06 21:14:05 +00:00
Marshall Clow
25d3402c6a
First half of support for N3657; heterogenous lookups for set/multiset
...
llvm-svn: 188241
2013-08-13 01:11:06 +00:00
Howard Hinnant
0be8f64c44
Nico Rieck: Currently _MSC_VER and _WIN32 are used to guard code which is
...
MSVC-specific, MSVCRT-specific, or Windows-specific. Because Clang can
also define _MSC_VER, and MSVCRT is not necessarily the only C runtime,
these macros should not be used interchangeably.
This patch divides all Windows-related bits into the aforementioned
categories. Two new macros are introduced:
- _LIBCPP_MSVC: Defined when compiling with MSVC. Detected using
_MSC_VER, excluding Clang.
- _LIBCPP_MSVCRT: Defined when using the Microsoft CRT. This is the default
when _WIN32 is defined.
This leaves _WIN32 for code using the Windows API.
This also corrects the spelling of _LIBCP_HAS_IS_BASE_OF to _LIBCPP_HAS_IS_BASE_OF.
Nico, please prepare a patch for CREDITS.TXT, thanks.
llvm-svn: 187593
2013-08-01 18:17:34 +00:00
Howard Hinnant
e0fe3d2e96
War on tabs.
...
llvm-svn: 185865
2013-07-08 21:06:38 +00:00
Howard Hinnant
a2ee3a6e2e
İsmail Dönmez: Change to mktemp template to make it compatible with Linux.
...
llvm-svn: 180267
2013-04-25 16:08:55 +00:00
Howard Hinnant
7c5b88b134
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
...
llvm-svn: 177755
2013-03-22 20:05:40 +00:00
Marshall Clow
91907cbe82
Removed raw references to _WIN32; now just check to see if it is defined.
...
llvm-svn: 177291
2013-03-18 17:04:29 +00:00
Howard Hinnant
3778f27b23
Michael van der Westhuizen: Improve support for testing on Linux. Fixes http://llvm.org/bugs/show_bug.cgi?id=14892 .
...
llvm-svn: 172436
2013-01-14 17:12:54 +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