summaryrefslogtreecommitdiff
path: root/libcxx
AgeCommit message (Collapse)Author
2018-12-19Add missing include to test. NFCMarshall Clow
2018-12-18Portability fix: add missing includes and static_casts. Reviewed as ↵Marshall Clow
https://reviews.llvm.org/D55777. Thanks to Andrey Maksimov for the patch.
2018-12-18Rework the C strings tests to use ASSERT_SAME_TYPE. NFC there. Also change ↵Marshall Clow
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.
2018-12-18[libcxx] Remove XFAILs for older macOS versionsLouis Dionne
That test doesn't fail anymore since r349378, since the assertions that r349378 removed must have been bugs in the dylib at some point.
2018-12-18[libcxx] Handle AppleClang 9 and 10 in XFAILs for aligned allocation testsLouis Dionne
I forgot that those don't behave like Clang trunk, again.
2018-12-18[libcxx] Properly mark aligned allocation macro test as XFAIL on OS XLouis Dionne
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`.
2018-12-17[libcxx][NFC] Properly indent nested #ifdefs and #definesLouis Dionne
I just realized I had always been reading this wrong because of the lack of indentation, so I'm re-indenting this properly.
2018-12-17Fix FP comparisons when SSE isn't availableEric Fiselier
2018-12-17[test] Add target_info for NetBSD, and XFAIL some of locale testsMichal Gorny
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
2018-12-17[test] [re.traits] Remove asserts failing due to invalid UTF-8Michal Gorny
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
2018-12-17Unbreak green dragon bots w/o __builtin_launderEric Fiselier
2018-12-17Expect Clang diagnostics in std::launder testEric Fiselier
2018-12-17[libcxx] Speeding up partition_point/lower_bound/upper_boundLouis Dionne
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.
2018-12-16[test] [support] Use socket()+bind() to create unix sockets portablyMichal Gorny
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
2018-12-16[test] [ctime] Ignore -Wformat-zero-length warningsMichal Gorny
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
2018-12-16[regex] Use distinct __regex_word on NetBSDMichal Gorny
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
2018-12-15Fix static assert diagnostic checks in i386Eric Fiselier
2018-12-15Try 2: Fix bug in buildbot start scriptEric Fiselier
2018-12-15Fix bug in buildbot start scriptEric Fiselier
2018-12-15Rework docker setup to make it easier to work around bugs on buildbotsEric Fiselier
2018-12-14Tolerate Clangs new static_assert messagesEric Fiselier
2018-12-14[libcxx] Mark some tests as still failing on macosx10.14Louis Dionne
2018-12-14When resolving a merge conflict, I put something inside an #ifdef. Fixed.Marshall Clow
2018-12-14Implement P1209 - Adopt Consistent Container Erasure from Library ↵Marshall Clow
Fundamentals 2 for C++20. Reviewed as https://reviews.llvm.org/D55532
2018-12-14[libcxx] Make sure use_system_cxx_lib does not override cxx_runtime_root for ↵Louis Dionne
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).
2018-12-14Update google benchmark againEric Fiselier
2018-12-14Update google benchmark versionEric Fiselier
2018-12-13[libc++] Fix _LIBCPP_EXPORTED_FROM_ABI when visibility annotations are disabledThomas Anderson
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
2018-12-13[libcxx] Fix pop_back() tests to make sure they don't always just passLouis Dionne
2018-12-12[libcxx] Add assertion in deque::pop_back when popping from an empty dequeLouis Dionne
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.
2018-12-12[test] [depr.c.headers] XFAIL uchar.h on NetBSDMichal Gorny
2018-12-12[test] [filesystems] NetBSD can do symlink permissions tooMichal Gorny
2018-12-12[test] [filesystems] Extend FreeBSD tv_sec==-1 workaround to NetBSDMichal Gorny
NetBSD also uses tv_sec==-1 as error status indicator, and does not support setting such a value.
2018-12-11[test] Permit NetBSD in filesystem_dynamic_test_helper.pyMichal Gorny
2018-12-11[libcxx] Only enable the availability LIT feature when we're testing libc++Louis Dionne
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++.
2018-12-11[libcxx] Remove the no_default_flags LIT configurationLouis Dionne
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++.
2018-12-11[NFC] Fix incorrect (but unreachable) LIT error messageLouis Dionne
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.
2018-12-11[libcxx] Fix test failure on GCC 4.9Louis Dionne
GCC 4.9 seems to think that a constexpr default constructor implies the constructor to be noexcept.
2018-12-11[pair] Mark constructors as conditionally noexceptLouis Dionne
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
2018-12-11[libcxx] Fix test on compilers that do not support char8_t yetLouis Dionne
2018-12-11Fix problems with char8_t stuff on compilers that don't support char8_t yetMarshall Clow
2018-12-11Second part of P0482 - char8_t. Reviewed as https://reviews.llvm.org/D55308Marshall Clow
2018-12-11Revert "[pair] Mark constructors as conditionally noexcept"Louis Dionne
This broke the tests on Linux. Reverting until I find out why the tests are broken (tomorrow).
2018-12-11[pair] Mark constructors as conditionally noexceptLouis Dionne
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
2018-12-11Add a version of std::function that includes a few optimizations in ABI V2.Eric Fiselier
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
2018-12-10Refactor std::function to more easily support alternative implementations.Eric Fiselier
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).
2018-12-07Update a couple of vector<bool> tests that were testing libc++-specific ↵Marshall Clow
bahavior. Thanks to Andrey Maksimov for the catch.
2018-12-07[libcxx] Remove the availability_markup LIT featureLouis Dionne
It is now equivalent to the 'availability' LIT feature, so there's no reason to keep both.
2018-12-07[libcxx] Add paranoid cast-to-void in comma operatorLouis Dionne
2018-12-06[libc++] Improve diagnostics for non-const comparators and hashers in ↵Louis Dionne
associative containers Summary: When providing a non-const-callable comparator in a map or set, the warning diagnostic does not include the point of instantiation of the container that triggered the warning, which makes it difficult to track down the problem. This commit improves the diagnostic by placing it directly in the body of the associative container. The same change is applied to unordered associative containers, which had a similar problem. Finally, this commit cleans up the forward declarations of several map and unordered_map helpers, which are not needed anymore. <rdar://problem/41370747> Reviewers: EricWF, mclow.lists Subscribers: christof, dexonsmith, llvm-commits Differential Revision: https://reviews.llvm.org/D48955