summaryrefslogtreecommitdiffstats
path: root/libcxx
Commit message (Collapse)AuthorAgeFilesLines
...
* Work around GCC 9.0 regressionEric Fiselier2018-12-191-1/+2
| | | | llvm-svn: 349663
* Add missing include to test. NFCMarshall Clow2018-12-191-0/+1
| | | | llvm-svn: 349639
* Portability fix: add missing includes and static_casts. Reviewed as ↵Marshall Clow2018-12-1823-4/+34
| | | | | | https://reviews.llvm.org/D55777. Thanks to Andrey Maksimov for the patch. llvm-svn: 349566
* Rework the C strings tests to use ASSERT_SAME_TYPE. NFC there. Also change ↵Marshall Clow2018-12-185-135/+148
| | | | | | cwchar.pass.cpp to avoid constructing a couple things from zero - since apparently they can be enums in some weird C library. NFC there, either, since the values were never used. llvm-svn: 349522
* [libcxx] Remove XFAILs for older macOS versionsLouis Dionne2018-12-181-3/+0
| | | | | | | That test doesn't fail anymore since r349378, since the assertions that r349378 removed must have been bugs in the dylib at some point. llvm-svn: 349484
* [libcxx] Handle AppleClang 9 and 10 in XFAILs for aligned allocation testsLouis Dionne2018-12-181-7/+8
| | | | | | I forgot that those don't behave like Clang trunk, again. llvm-svn: 349427
* [libcxx] Properly mark aligned allocation macro test as XFAIL on OS XLouis Dionne2018-12-181-6/+6
| | | | | | | | | This test was initially marked as XFAIL using `XFAIL: macosx10.YY`, and was then moved to `UNSUPPORTED: macosx10.YY`. The intent is to mark the test as XFAILing when a deployment target older than macosx10.14 is used, and the right way to do this is `XFAIL: availability=macosx10.YY`. llvm-svn: 349426
* [libcxx][NFC] Properly indent nested #ifdefs and #definesLouis Dionne2018-12-171-7/+7
| | | | | | | I just realized I had always been reading this wrong because of the lack of indentation, so I'm re-indenting this properly. llvm-svn: 349408
* Fix FP comparisons when SSE isn't availableEric Fiselier2018-12-175-30/+66
| | | | llvm-svn: 349387
* [test] Add target_info for NetBSD, and XFAIL some of locale testsMichal Gorny2018-12-1731-0/+103
| | | | | | | | | | | | | | | | | | | | Add a target_info definition for NetBSD. The definition is based on the one used by FreeBSD, with libcxxrt replaced by libc++abi, and using llvm-libunwind since we need to use its unwinder implementation to build anyway. Additionally, XFAIL the 30 tests that fail because of non-implemented locale features. According to the manual, NetBSD implements only LC_CTYPE part of locale handling. However, there is a locale database in the system and locale specifications are validated against it, so it makes sense to list the common locales as supported. If I'm counting correctly, this change enables additional 43 passing tests. Differential Revision: https://reviews.llvm.org/D55767 llvm-svn: 349379
* [test] [re.traits] Remove asserts failing due to invalid UTF-8Michal Gorny2018-12-171-5/+0
| | | | | | | | | | | Remove the two test cases for \xDA and \xFA with UTF-8 locale, as both characters alone are invalid in UTF-8 (short sequences). Upon removing them, the test passes on Linux again (and also on NetBSD, after adding appropriate locale configuration). Differential Revision: https://reviews.llvm.org/D55746 llvm-svn: 349378
* Unbreak green dragon bots w/o __builtin_launderEric Fiselier2018-12-171-2/+2
| | | | llvm-svn: 349373
* Expect Clang diagnostics in std::launder testEric Fiselier2018-12-171-0/+2
| | | | llvm-svn: 349364
* [libcxx] Speeding up partition_point/lower_bound/upper_boundLouis Dionne2018-12-173-4/+210
| | | | | | | | | | This is a re-application of r345525, which had been reverted by fear of a regression. Reviewed as https://reviews.llvm.org/D53994. Thanks to Denis Yaroshevskiy for the patch. llvm-svn: 349358
* [test] [support] Use socket()+bind() to create unix sockets portablyMichal Gorny2018-12-161-2/+8
| | | | | | | | | | | Replace the mknod() call with socket() + bind() for creating unix sockets. The mknod() method is not portable and does not work on NetBSD while binding the socket should work on all systems supporting unix sockets. Differential Revision: https://reviews.llvm.org/D55576 llvm-svn: 349305
* [test] [ctime] Ignore -Wformat-zero-length warningsMichal Gorny2018-12-161-0/+4
| | | | | | | | | | | | Explicitly disable the -Wformat-zero-length diagnostic when running ctime tests, since one of the test cases passes zero-length format string to strftime(). When strftime() is appropriately decorated with __attribute__(format, ...), this caused the test to fail because of this warning (e.g. on NetBSD). Differential Revision: https://reviews.llvm.org/D55661 llvm-svn: 349294
* [regex] Use distinct __regex_word on NetBSDMichal Gorny2018-12-161-0/+4
| | | | | | | | | | NetBSD defines character classes up to 0x2000. Use 0x8000 as a safe __regex_word that hopefully will not collide with other values in the foreseeable future. Differential Revision: https://reviews.llvm.org/D55657 llvm-svn: 349293
* Fix static assert diagnostic checks in i386Eric Fiselier2018-12-155-5/+5
| | | | llvm-svn: 349252
* Try 2: Fix bug in buildbot start scriptEric Fiselier2018-12-151-1/+1
| | | | llvm-svn: 349236
* Fix bug in buildbot start scriptEric Fiselier2018-12-151-1/+1
| | | | llvm-svn: 349235
* Rework docker setup to make it easier to work around bugs on buildbotsEric Fiselier2018-12-153-2/+19
| | | | llvm-svn: 349234
* Tolerate Clangs new static_assert messagesEric Fiselier2018-12-146-6/+6
| | | | llvm-svn: 349189
* [libcxx] Mark some tests as still failing on macosx10.14Louis Dionne2018-12-143-0/+3
| | | | llvm-svn: 349187
* When resolving a merge conflict, I put something inside an #ifdef. Fixed.Marshall Clow2018-12-141-1/+1
| | | | llvm-svn: 349181
* Implement P1209 - Adopt Consistent Container Erasure from Library ↵Marshall Clow2018-12-1439-1/+1717
| | | | | | Fundamentals 2 for C++20. Reviewed as https://reviews.llvm.org/D55532 llvm-svn: 349178
* [libcxx] Make sure use_system_cxx_lib does not override cxx_runtime_root for ↵Louis Dionne2018-12-142-6/+5
| | | | | | | | | | | | DYLD_LIBRARY_PATH Otherwise, even specifying a runtime root different from the library we're linking against won't work -- the library we're linking against is always used. This is undesirable if we try testing something like linking against a recent libc++.dylib but running the tests against an older version (the back-deployment use case). llvm-svn: 349171
* Update google benchmark againEric Fiselier2018-12-143-12/+31
| | | | llvm-svn: 349127
* Update google benchmark versionEric Fiselier2018-12-1417-100/+194
| | | | llvm-svn: 349126
* [libc++] Fix _LIBCPP_EXPORTED_FROM_ABI when visibility annotations are disabledThomas Anderson2018-12-131-1/+5
| | | | | | | | | | | | | Fixes a bug where functions would get exported when building with -fvisibility=hidden and defining _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS. No visibility annotations should be added in this case. The new logic for _LIBCPP_EXPORTED_FROM_ABI matches that of the other visibility annotations around it. Differential Revision: https://reviews.llvm.org/D55664 llvm-svn: 349080
* [libcxx] Fix pop_back() tests to make sure they don't always just passLouis Dionne2018-12-132-0/+2
| | | | llvm-svn: 349071
* [libcxx] Add assertion in deque::pop_back when popping from an empty dequeLouis Dionne2018-12-123-4/+55
| | | | | | | | Also, add tests making sure that vector and deque both catch the problem when assertions are enabled. Otherwise, deque would segfault and vector would never terminate. llvm-svn: 348994
* [test] [depr.c.headers] XFAIL uchar.h on NetBSDMichal Gorny2018-12-121-0/+1
| | | | llvm-svn: 348973
* [test] [filesystems] NetBSD can do symlink permissions tooMichal Gorny2018-12-121-1/+1
| | | | llvm-svn: 348968
* [test] [filesystems] Extend FreeBSD tv_sec==-1 workaround to NetBSDMichal Gorny2018-12-121-1/+1
| | | | | | | NetBSD also uses tv_sec==-1 as error status indicator, and does not support setting such a value. llvm-svn: 348967
* [test] Permit NetBSD in filesystem_dynamic_test_helper.pyMichal Gorny2018-12-111-1/+2
| | | | llvm-svn: 348872
* [libcxx] Only enable the availability LIT feature when we're testing libc++Louis Dionne2018-12-111-2/+4
| | | | | | | | Other standard libraries don't implement availability markup, so it doesn't make sense to e.g. XFAIL tests based on availability markup outside of libc++. llvm-svn: 348871
* [libcxx] Remove the no_default_flags LIT configurationLouis Dionne2018-12-112-44/+32
| | | | | | | | | This is part of an ongoing cleanup of the LIT test suite, where I'm trying to reduce the number of configuration options. In this case, the original intent seemed to be running the test suite with libstdc++, but this is now supported by specifying cxx_stdlib_under_test=libstdc++. llvm-svn: 348868
* [NFC] Fix incorrect (but unreachable) LIT error messageLouis Dionne2018-12-111-3/+1
| | | | | | | | It is unreachable because we test that the cxx_stdlib_under_test is in the supported set of libraries elsewhere. Furthermore, this code relied on the `use_stdlib_type`, which is never defined. llvm-svn: 348867
* [libcxx] Fix test failure on GCC 4.9Louis Dionne2018-12-111-3/+8
| | | | | | | GCC 4.9 seems to think that a constexpr default constructor implies the constructor to be noexcept. llvm-svn: 348850
* [pair] Mark constructors as conditionally noexceptLouis Dionne2018-12-1110-46/+388
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: std::tuple marks its constructors as noexcept when the corresponding memberwise constructors are noexcept too -- this commit improves std::pair so that it behaves the same. This is a re-application of r348824, which broke the build in C++03 mode because a test was marked as supported in C++03 when it shouldn't be. Note: I did not add support in the explicit and non-explicit `pair(_Tuple&& __p)` constructors because those are non-standard extensions, and supporting them properly is tedious (we have to copy the rvalue-referenceness of the deduced _Tuple&& onto the result of tuple_element). <rdar://problem/29537079> Reviewers: mclow.lists, EricWF Subscribers: christof, llvm-commits Differential Revision: https://reviews.llvm.org/D48669 llvm-svn: 348847
* [libcxx] Fix test on compilers that do not support char8_t yetLouis Dionne2018-12-111-2/+4
| | | | llvm-svn: 348846
* Fix problems with char8_t stuff on compilers that don't support char8_t yetMarshall Clow2018-12-1110-11/+13
| | | | llvm-svn: 348829
* Second part of P0482 - char8_t. Reviewed as https://reviews.llvm.org/D55308Marshall Clow2018-12-1191-104/+1153
| | | | llvm-svn: 348828
* Revert "[pair] Mark constructors as conditionally noexcept"Louis Dionne2018-12-1110-387/+46
| | | | | | | This broke the tests on Linux. Reverting until I find out why the tests are broken (tomorrow). llvm-svn: 348825
* [pair] Mark constructors as conditionally noexceptLouis Dionne2018-12-1110-46/+387
| | | | | | | | | | | | | | | | | | | | | | | Summary: std::tuple marks its constructors as noexcept when the corresponding memberwise constructors are noexcept too -- this commit improves std::pair so that it behaves the same. Note: I did not add support in the explicit and non-explicit `pair(_Tuple&& __p)` constructors because those are non-standard extensions, and supporting them properly is tedious (we have to copy the rvalue-referenceness of the deduced _Tuple&& onto the result of tuple_element). <rdar://problem/29537079> Reviewers: mclow.lists, EricWF Subscribers: christof, llvm-commits Differential Revision: https://reviews.llvm.org/D48669 llvm-svn: 348824
* Add a version of std::function that includes a few optimizations in ABI V2.Eric Fiselier2018-12-112-0/+305
| | | | | | | | | | Patch by Jordan Soyke (jsoyke@google.com) Reviewed as D55045 The result of running the benchmarks and comparing them can be found here: https://gist.github.com/EricWF/a77fd42ec87fc98da8039e26d0349498 llvm-svn: 348812
* Refactor std::function to more easily support alternative implementations.Eric Fiselier2018-12-101-200/+310
| | | | | | | | | | | | Patch from Jordan Soyke (jsoyke@google.com) Reviewed as D55520 This change adds a new internal class, called __value_func, that adds a minimal subset of value-type semantics to the internal __func interface. The change is NFC, and is cleanup for the upcoming ABI v2 function implementation (D55045). llvm-svn: 348778
* Update a couple of vector<bool> tests that were testing libc++-specific ↵Marshall Clow2018-12-073-10/+17
| | | | | | bahavior. Thanks to Andrey Maksimov for the catch. llvm-svn: 348660
* [libcxx] Remove the availability_markup LIT featureLouis Dionne2018-12-0712-76/+60
| | | | | | | It is now equivalent to the 'availability' LIT feature, so there's no reason to keep both. llvm-svn: 348653
* [libcxx] Add paranoid cast-to-void in comma operatorLouis Dionne2018-12-071-1/+1
| | | | llvm-svn: 348611
OpenPOWER on IntegriCloud