summaryrefslogtreecommitdiffstats
path: root/libcxx
Commit message (Collapse)AuthorAgeFilesLines
...
* [libcxx] Fix threads detection on GNU/HurdLouis Dionne2018-11-201-0/+1
| | | | | | | | | GNU/Hurd provides standard Posix threads Reviewed as https://reviews.llvm.org/D54339. Thanks to Samuel Thibault for the patch. llvm-svn: 347347
* Note that P0899R1 requires no work.Marshall Clow2018-11-201-1/+1
| | | | llvm-svn: 347344
* Mark P0771 as complete; we already did this - I just added tests to be sureMarshall Clow2018-11-202-3/+15
| | | | llvm-svn: 347343
* Add benchmarks for sorting and heap functions.Samuel Benzaquen2018-11-201-45/+253
| | | | | | | | | | | | | | | | | Summary: Benchmarks for std::sort, std::stable_sort, std::make_heap, std::sort_heap, std::pop_heap and std::push_heap. The benchmarks are run with integers and strings, and with different sorted input. Reviewers: EricWF Subscribers: christof, mgrang, ldionne, libcxx-commits Differential Revision: https://reviews.llvm.org/D53978 llvm-svn: 347329
* [NFC][libcxx] Fix incorrect commentsLouis Dionne2018-11-191-3/+3
| | | | llvm-svn: 347267
* [libcxx] Fix XFAIL for GCC 4.9Louis Dionne2018-11-191-1/+1
| | | | | | | | | The XFAIL started passing since we're only testing for trivial-copyability of reference_wrapper in C++14 and above. This commit constrains the XFAIL to gcc-4.9 with C++14 (it would also fail on C++17 and above, but those standards are not available with GCC 4.9). llvm-svn: 347264
* [libcxx] Update test of trivial copyability of reference_wrapperLouis Dionne2018-11-191-3/+4
| | | | | | N4151 is not an extension anymore, it was standardized in C++14. llvm-svn: 347263
* Add docker configurations used by the buildbots.Eric Fiselier2018-11-197-0/+676
| | | | | | | These are the scripts I use to create the docker images for the build bots and run them. llvm-svn: 347244
* [libcxx] Fix incorrect #include for std::hashLouis Dionne2018-11-191-1/+1
| | | | | | | Reviewed as https://reviews.llvm.org/D54705. Thanks to Andrey Maksimov for the patch. llvm-svn: 347233
* [libcxx] Add missing <cstddef> includes in testsLouis Dionne2018-11-193-0/+4
| | | | | | | | | | | Some tests use type std::max_align_t, but don't include <cstddef> header directly. As a result, these tests won't compile against some conformant libraries. Reviewed as https://reviews.llvm.org/D54645. Thanks to Andrey Maksimov for the patch. llvm-svn: 347232
* [libcxx] Add availability markup for bad_optional_access, bad_variant_access ↵Louis Dionne2018-11-1950-245/+364
| | | | | | | | | | | | and bad_any_cast Reviewers: dexonsmith, EricWF Subscribers: christof, arphaman, libcxx-commits Differential Revision: https://reviews.llvm.org/D53256 llvm-svn: 347219
* [libcxx] Add missing includes in testsLouis Dionne2018-11-1621-0/+24
| | | | | | | | | | | | | | | A bunch of unordered containers tests call library functions but don't directly include the corresponding header files: - fabs() (defined in <cmath> which is not included); - is_permutation() (defined in <algorithm> which is not included); - next() (defined in <iterator> which is not included). - As a result, these tests won't compile against some conformant libraries. Reviewed as https://reviews.llvm.org/D54643. Thanks to Andrey Maksimov for the patch. llvm-svn: 347085
* [libcxx] Mention restriction on inline namespaces in LIBCXX_ABI_NAMESPACE docsLouis Dionne2018-11-161-1/+3
| | | | | | | | | | I also kept the original "vague" documentation that saying that users are responsible for not breaking us. This doesn't mean anything because there's no way they can actually enforce that unless we restrict ourselves to a specific naming scheme, but I left the documentation because it acts as a good warning and gives us more leeway. llvm-svn: 347052
* Remove BUILD file from google-benchmarkBenjamin Kramer2018-11-161-65/+0
| | | | | | This was removed in r336666, but accidentally re-added in r346984. llvm-svn: 347046
* Disable filesystem benchmark when libstdc++ doesn't support itEric Fiselier2018-11-151-3/+18
| | | | llvm-svn: 346989
* Upgrade Google Benchmark library to ToTEric Fiselier2018-11-1557-863/+2966
| | | | llvm-svn: 346984
* propagate __config_site includes when building benchmarksEric Fiselier2018-11-151-2/+10
| | | | llvm-svn: 346933
* Work around C++03 decltype limitationsEric Fiselier2018-11-151-5/+5
| | | | llvm-svn: 346917
* Get tests compiling with -Wunused-local-typedefEric Fiselier2018-11-1551-94/+22
| | | | llvm-svn: 346914
* [libcxx] [test] Fix Clang -Wunused-local-typedef warnings.Stephan T. Lavavej2018-11-144-20/+0
| | | | | | C++11's [hash.requirements] never required these typedefs from users. llvm-svn: 346912
* [libcxx] [test] Include <cassert> for assert().Stephan T. Lavavej2018-11-148-0/+8
| | | | | | This fixes compiler errors with MSVC's STL. llvm-svn: 346911
* [libcxx] [test] Fix MSVC warning C4800.Stephan T. Lavavej2018-11-141-6/+6
| | | | | | | | | | | | This was implicitly converting [1, 3] to bool, which triggers an MSVC warning. The test should just pass `true`, which is simpler, has the same behavior, and avoids the warning. (This is a library test, not a compiler test, and the conversion happens before calling `push_back`, so passing [1, 3] isn't interesting in any way. This resembles a previous change to stop passing `1 == 1` in the `vector<bool>` tests.) llvm-svn: 346910
* Attempt to show progress bar in benchmark testsEric Fiselier2018-11-141-1/+1
| | | | llvm-svn: 346905
* Exclude check-cxx-benchmarks from the global test target.Eric Fiselier2018-11-141-2/+2
| | | | llvm-svn: 346904
* Rename cxx-benchmark-unittests target and convert to LIT.Eric Fiselier2018-11-147-22/+201
| | | | | | | | | | | | | | This patch renames the cxx-benchmark-unittests to check-cxx-benchmarks and converts the target to use LIT in order to make the tests run faster and provide better output. In particular this runs each benchmark in a suite one by one, allowing more parallelism while ensuring output isn't garbage with multiple threads. Additionally, it adds the CMake flag '-DLIBCXX_BENCHMARK_TEST_ARGS=<list>' to specify what options are passed when running the benchmarks. llvm-svn: 346888
* [libcxx] [test] Fix running tests on macOS with python3Alexander Richardson2018-11-141-7/+8
| | | | | | | | | | | | | | | | Summary: The result of subprocess.check_output() is bytes in python3 which we need to convert to str(). Simplify this by using the executeCommand() helper. Reviewers: ldionne, EricWF Reviewed By: ldionne Subscribers: christof, libcxx-commits Differential Revision: https://reviews.llvm.org/D54522 llvm-svn: 346878
* [libcxx] [test] Strip trailing whitespace. NFC.Stephan T. Lavavej2018-11-14164-539/+538
| | | | llvm-svn: 346826
* [CMake] Passthrough CFLAGS when checking the compiler-rt pathPetr Hosek2018-11-141-0/+3
| | | | | | | | | | This is needed when cross-compiling for a different target since CFLAGS may contain additional flags like -resource-dir which change the location in which compiler-rt builtins are found. Differential Revision: https://reviews.llvm.org/D54371 llvm-svn: 346820
* Add cxx-benchmark-unittests targetEric Fiselier2018-11-133-22/+78
| | | | | | | | | | | | | This patch adds the cxx-benchmark-unittests target so we can start getting test coverage on the benchmarks, including building with sanitizers. Because we're only looking for test-coverage, the benchmarks run for the shortest time possible, and in parallel. The target is excluded from all by default. It only builds and runs the libcxx configurations of the benchmarks, and not any versions built against the systems native standard library. llvm-svn: 346811
* Fix "use of" uninitialized memory in benchmark.Eric Fiselier2018-11-131-1/+1
| | | | | | | An argument to DoNotOptimize was not fully initialized, which caused msan to complain. llvm-svn: 346808
* Mark #2184 as complete; the tests are fine. (I thought that they were wrong ↵Marshall Clow2018-11-131-1/+1
| | | | | | before) llvm-svn: 346805
* [NFC] Mark LWG3128 and LWG3132 as requiring no workLouis Dionne2018-11-131-2/+2
| | | | | | | Those LWG issues were adopted in San Diego and require no work on our side. llvm-svn: 346799
* Fix UB in string.bench.cpp.Eric Fiselier2018-11-131-6/+6
| | | | | | | | | | | The usage of aligned_storage failed to pass the alignment it wanted, which caused it to have a larger size and alignment that the std::string's it was intended to store. This patch manually specifies the alignment, as well as cleaning up type alias bugs. llvm-svn: 346779
* Remove duplicate entry for issue 3134Marshall Clow2018-11-131-1/+0
| | | | llvm-svn: 346772
* Update status for issue 3122Marshall Clow2018-11-131-2/+2
| | | | llvm-svn: 346771
* [NFC][libcxx] Mark P1006R1 as completeLouis Dionne2018-11-131-1/+1
| | | | llvm-svn: 346767
* Implement P0972R0: <chrono> zero(), min(), and max() should be noexcept. ↵Marshall Clow2018-11-1310-26/+75
| | | | | | Reviewed as https://reviews.llvm.org/D53828 llvm-svn: 346766
* [NFC][libcxx] Mark P1006 as implemented in LLVM 8.0Louis Dionne2018-11-131-1/+1
| | | | | | It was implemented in https://reviews.llvm.org/D53867 llvm-svn: 346765
* [libcxx] Implement http://wg21.link/p1006, constexpr in pointer_traitsLouis Dionne2018-11-132-5/+16
| | | | | | | | | | | | | | | | Summary: P1006 adds support for constexpr in the specialization of pointer_traits for raw pointers. This is necessary in order to use pointer_traits in the upcoming constexpr containers. We expect P1006 to be voted into the working draft for C++20 at the San Diego meeting. Reviewers: mclow.lists, EricWF Subscribers: christof, dexonsmith, libcxx-commits Differential Revision: https://reviews.llvm.org/D53867 llvm-svn: 346764
* [libcxx] GNU/Hurd uses BSD-based interfaces, but does not (and won't) ↵Louis Dionne2018-11-131-2/+2
| | | | | | | | | | provide <sys/sysctl.h> Reviewed as https://reviews.llvm.org/D54338. Thanks to sthibaul for the patch. llvm-svn: 346763
* Attempt to make benchmarks fall back to -std=c++1z when C++17 isn't supported.Eric Fiselier2018-11-131-1/+12
| | | | | | | | | | | | | The benchmarks currently require C++17, however Clang 3.9 doesn't support -std=c++17 while still supporting all the C++17 features needed to compile the benchmarks. This patch makes the benchmark build attempt to fall back to -std=c++1z when -std=c++17 isn't supported. See llvm.org/PR39629 llvm-svn: 346744
* Add emplace tests for multiset/unordered_multiset.Eric Fiselier2018-11-133-1/+46
| | | | | | | | This patch adds tests to ensure that multiset/unordered_multiset's emplace method correctly constructs the elements without any intervening constructions. llvm-svn: 346743
* Fix PR39619 - iterator_traits isn't SFINAE-friendly enough. Thanks to Eric ↵Marshall Clow2018-11-133-1/+141
| | | | | | for the report llvm-svn: 346738
* Update to-do list with new work from WG21 meeting in San DiegoMarshall Clow2018-11-121-1/+71
| | | | llvm-svn: 346634
* [NFC] Reformat std::optional testsLouis Dionne2018-11-122-4/+4
| | | | llvm-svn: 346630
* [NFC] Fix typo in <tuple>Louis Dionne2018-11-121-1/+1
| | | | llvm-svn: 346629
* [libcxx] Provide thread annotations for shared_mutexPetr Hosek2018-11-091-7/+8
| | | | | | | | | | shared_mutex was introduced in C++17 but its implementation currently doesn't use Clang's thread annotations like regular mutex. This change adds those. Differential Revision: https://reviews.llvm.org/D54290 llvm-svn: 346567
* Attempt to enable -WconversionEric Fiselier2018-11-081-1/+1
| | | | llvm-svn: 346451
* Fix -Wimplicit-fallthrough warningFangrui Song2018-11-071-0/+2
| | | | | | | | | | | | Reviewers: EricWF, ldionne, mclow.lists Reviewed By: ldionne Subscribers: christof, libcxx-commits Differential Revision: https://reviews.llvm.org/D54234 llvm-svn: 346369
* Fix the test for partition_copy so it is not ridiculously slow. Also, detab.Marshall Clow2018-11-041-408/+421
| | | | llvm-svn: 346104
OpenPOWER on IntegriCloud