summaryrefslogtreecommitdiffstats
path: root/libcxx/test
Commit message (Collapse)AuthorAgeFilesLines
...
* Recommit r243503 "[libcxx] Cleanup CMake configuration and integrate with LLVM"Eric Fiselier2015-07-292-80/+42
| | | | | | | | | This change was reverted in r243550 because it broke clang-format builds (see PR24306). This patch recommits a fixed version of the original. llvm-svn: 243574
* Revert r243503 "[libcxx] Cleanup CMake configuration and integrate with LLVM"Hans Wennborg2015-07-292-42/+80
| | | | | | This caused clang-format to stop linking on Mac; see PR24306. llvm-svn: 243550
* Fix a self-move bug in inplace_merge. Thanks to Ted and Dexon for the report ↵Marshall Clow2015-07-292-10/+69
| | | | | | and the suggested fix. llvm-svn: 243530
* [libcxx] Cleanup CMake configuration and integrate with LLVMEric Fiselier2015-07-292-80/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch contains the following changes: 1. Require that libc++ can find a LLVM source directory. This is done the same way as `libc++abi` currently does. 2. Cleanup ugly configuration code in CMakeLists.txt by using `add_flags`, `add_flags_if`, and `add_flags_if_supported` macros. The goals for this patch are: 1. Help libc++ be more consistent with how LLVM handles CMake options (see PR23670 PR23671). 2. Make it easier to use sanitizers using the `LLVM_USE_SANITIZER` option. 3. Make libc++'s CMakeLists.txt file easier to understand and change. 4. Move towards allowing libc++ to create Sphinx documentation (see http://efcs.ca/libcxx-docs). 5. Move towards allowing libc++ to use other LLVM utilities such as `not` and `FileCheck`. Reviewers: mclow.lists, jroelofs, danalbert Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D11308 llvm-svn: 243503
* Remove sanitizer XFAILs on a test.Eric Fiselier2015-07-281-7/+0
| | | | llvm-svn: 243499
* Mark async tests as UNSUPPORTED in C++03 because it requires variadicsEric Fiselier2015-07-282-0/+2
| | | | llvm-svn: 243393
* Fix a handful of tests that fail in C++03Eric Fiselier2015-07-288-35/+35
| | | | llvm-svn: 243392
* Checking more __invoke tests.Eric Fiselier2015-07-284-0/+1126
| | | | | | | Before I start trying to fix __invoke in C++03 it needs better test coverage. This patch adds a large amount of tests for __invoke. llvm-svn: 243366
* Detect and throw on a class of bad regexes that we mistakenly accepted ↵Marshall Clow2015-07-232-1/+43
| | | | | | before. Thanks to Trevor Smigiel for the report llvm-svn: 243030
* Mark this test as XFAIL with older compilers, since they hit PR18097Justin Bogner2015-07-221-0/+4
| | | | llvm-svn: 242967
* Cleanup <__functional_03>Eric Fiselier2015-07-229-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | <__functional_03> provides the C++03 definitions for std::memfun and std::function. However the interaction between <functional> and <__functional_03> is ugly and duplicates code needlessly. This patch cleans up how the two headers work together. The major changes are: - Provide placeholders, is_bind_expression and is_placeholder in <functional> for both C++03 and C++11. - Provide bad_function_call, function fwd decl, __maybe_derive_from_unary_function and __maybe_derive_from_binary_function in <functional> for both C++03 and C++11. - Move the <__functional_03> include to the bottom of <functional>. This makes it easier to see how <__functional_03> interacts with <functional> - Remove a commented out implementation of bind in C++03. It's never going to get implemented. - Mark almost all std::bind tests as unsupported in C++03. std::is_placeholder works in C++03 and C++11. std::is_bind_expression is provided in C++03 but always returns false. llvm-svn: 242870
* [libcxx] Add support for sanitizers on OS X.Eric Fiselier2015-07-222-0/+7
| | | | | | | | | | | | Summary: This patch adds special configuration logic to find the compiler_rt libraries required by sanitizers on OS X. The supported sanitizers are Address and Undefined. Reviewers: mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D11381 llvm-svn: 242858
* Mark new tests as unsupported before C++11Marshall Clow2015-07-204-1/+9
| | | | llvm-svn: 242695
* Implement the default searcher for std::experimental::search.Marshall Clow2015-07-207-0/+405
| | | | llvm-svn: 242682
* Implement the plugin-based version of std::search. There are no searchers ↵Marshall Clow2015-07-201-0/+43
| | | | | | yet; those are coming soon. llvm-svn: 242679
* Fix warnings in unordered_mapEric Fiselier2015-07-1929-85/+44
| | | | llvm-svn: 242634
* Fix warnings in forwardlistEric Fiselier2015-07-193-6/+6
| | | | llvm-svn: 242633
* Fix warnings in deque testsEric Fiselier2015-07-1910-57/+24
| | | | llvm-svn: 242632
* Commit file missing from r242629Eric Fiselier2015-07-191-0/+8
| | | | llvm-svn: 242630
* Fix warnings in array and assoc containersEric Fiselier2015-07-1821-25/+92
| | | | llvm-svn: 242629
* Cleanup warnings in test/std/deprEric Fiselier2015-07-1812-15/+32
| | | | llvm-svn: 242627
* Fix warnings in test/std/algorithmsEric Fiselier2015-07-186-18/+20
| | | | llvm-svn: 242626
* Fix unused variable warnings in atomic testsEric Fiselier2015-07-185-5/+7
| | | | llvm-svn: 242625
* Fix warnings in test/std/language.supportEric Fiselier2015-07-1810-9/+44
| | | | llvm-svn: 242624
* Fix up typos in a couple of tests; due to agressive short-circuiting, they ↵Marshall Clow2015-07-182-2/+10
| | | | | | never failed on clang or gcc, but MSVC whined. Patch by Andrew Parker. llvm-svn: 242618
* Add missing instrumentation in vector::insert - Patch from Anna ZaksEric Fiselier2015-07-182-4/+18
| | | | | | This patch was reviewed as D10859. http://reviews.llvm.org/D10859 llvm-svn: 242617
* [libcxx] Get is_*_destructible tests passing in C++03.Eric Fiselier2015-07-183-38/+73
| | | | | | | | | | | | Summary: This patch adds proper guards to the is_destructible tests depending on the standard version so that they pass in c++03. Reviewers: mclow.lists, EricWF Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D10047 llvm-svn: 242612
* Cleanup tests that fail in C++1z and with Clang 3.8Eric Fiselier2015-07-179-377/+248
| | | | llvm-svn: 242581
* Include what we use, instead of letting them get pulled in implictly. This ↵Marshall Clow2015-07-163-0/+5
| | | | | | makes the tests work on VS. Thanks to STL for the report llvm-svn: 242454
* Make sure that __libcpp_compressed_pair_imp default-constructs its' members, ↵Marshall Clow2015-07-161-0/+16
| | | | | | rather than value-initializing them. Fixes PR#24137 llvm-svn: 242377
* Mark two tests as failing on clang 3.8 (they failed on 3.7, too)Marshall Clow2015-07-162-4/+4
| | | | llvm-svn: 242375
* Remove non-ascii charactersEric Fiselier2015-07-141-5/+5
| | | | llvm-svn: 242197
* Implement n4169 - Add invoke function templateEric Fiselier2015-07-141-0/+268
| | | | llvm-svn: 242195
* Fix PR24114 - std::atomic for non-Clang is not a literal typeEric Fiselier2015-07-141-0/+56
| | | | | | Add _LIBCPP_CONSTEXPR to the implementation of __gcc_atomic_t. llvm-svn: 242172
* Move bits from N4258. Mark vector's move-constructor unconditionally ↵Marshall Clow2015-07-142-0/+10
| | | | | | noexcept in C++1z llvm-svn: 242148
* Implement the first part of N4258: 'Cleaning up noexcept in the Library'. ↵Marshall Clow2015-07-1314-12/+1048
| | | | | | This patch deals with swapping containers, and implements a more strict noexcept specification (a conforming extension) than the standard mandates. llvm-svn: 242056
* [libcxx] LWG2420 bits for bind<void> - Patch from K-BalloEric Fiselier2015-07-101-3/+16
| | | | | | | Implemented LWG2420 bits for bind<void> Review: http://reviews.llvm.org/D10997 llvm-svn: 241967
* Fix error string in test suiteEric Fiselier2015-07-081-1/+1
| | | | llvm-svn: 241757
* The rest of N4279 and LWG#2464 - for unordered_mapMarshall Clow2015-07-072-0/+393
| | | | llvm-svn: 241555
* Implement N4279 and LWG#2664 for <map>. Reviewed as ↵Marshall Clow2015-07-072-0/+381
| | | | | | http://reviews.llvm.org/D10669 llvm-svn: 241539
* [libcxx] Add atomic_support.h header to src that handles needed atomic ↵Eric Fiselier2015-07-071-0/+94
| | | | | | | | | | | | | | | | | | | | | operations. Summary: In some places in libc++ we need to use the `__atomic_*` builtins. This patch adds a header that provides access to those builtins in a uniform way from within the dylib source. If the compiler building the dylib does not support these builtins then a warning is issued. Only relaxed loads are needed within the headers. A singe function to do these relaxed loads has been added to `<memory>`. This patch applies the new atomic builtins to `__shared_count` and `call_once`. Reviewers: mclow.lists Subscribers: majnemer, jroelofs, cfe-commits Differential Revision: http://reviews.llvm.org/D10406 llvm-svn: 241532
* Automatically detect and use clang verify in failure tests.Eric Fiselier2015-07-064-11/+19
| | | | | | | | | Automatically enable clang verify whenever the '-verify-ignore-unexpected' flag is supported. Failure tests are run using verify if they contain one or more "expected-*" diagnostics tags. Otherwise they are run normally. llvm-svn: 241492
* Noticed that std::allocator<const T> was missing the definition for ↵Marshall Clow2015-07-012-0/+9
| | | | | | is_always_equal. Fixed this, and added a test for it. llvm-svn: 241190
* Forgot the support include file in r241091Marshall Clow2015-06-301-0/+73
| | | | llvm-svn: 241092
* Add tests for LWG#2299. While doing so, I noticed that the tests we have for ↵Marshall Clow2015-06-3049-1/+1716
| | | | | | the transparent comparators don't actually call them. Fix those tests, too. Now one of them is failing, due to a missing const in <map>. Add that (twice). Next step is to do the same for <unordered_map> llvm-svn: 241091
* Implement LWG#2407: 'packaged_task(allocator_arg_t, const Allocator&, F&&) ↵Marshall Clow2015-06-301-1/+1
| | | | | | should neither be constrained nor explicit' llvm-svn: 241068
* Implement N4508: shared_mutex. Reviewed as http://reviews.llvm.org/D10480Marshall Clow2015-06-308-0/+327
| | | | llvm-svn: 241067
* Make support for thread-unsafe C functions optional.Ed Schouten2015-06-2413-3/+104
| | | | | | | | | | | | | | | | | | | | | | | | One of the aspects of CloudABI is that it aims to help you write code that is thread-safe out of the box. This is very important if you want to write libraries that are easy to reuse. For CloudABI we decided to not provide the thread-unsafe functions. So far this is working out pretty well, as thread-unsafety issues are detected really early on. The following patch adds a knob to libc++, _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS, that can be set to disable thread-unsafe functions that can easily be avoided in practice. The following functions are not thread-safe: - <clocale>: locale handles should be preferred over setlocale(). - <cstdlib>: mbrlen(), mbrtowc() and wcrtomb() should be preferred over their non-restartable counterparts. - <ctime>: asctime(), ctime(), gmtime() and localtime() are not thread-safe. The first two are also deprecated by POSIX. Differential Revision: http://reviews.llvm.org/D8703 Reviewed by: marshall llvm-svn: 240527
* Make seeking on an ostream that has eofbit set work correctly. Fixes PR#21361Marshall Clow2015-06-222-0/+22
| | | | llvm-svn: 240286
* Fix PR#18843. Thanks to Howard for the fixMarshall Clow2015-06-191-0/+4
| | | | llvm-svn: 240136
OpenPOWER on IntegriCloud