|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | and bad_any_cast
Reviewers: dexonsmith, EricWF
Subscribers: christof, arphaman, libcxx-commits
Differential Revision: https://reviews.llvm.org/D53256
llvm-svn: 347219 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| | llvm-svn: 346914 | 
| | 
| 
| 
| 
| 
| | C++11's [hash.requirements] never required these typedefs from users.
llvm-svn: 346912 | 
| | 
| 
| 
| 
| 
| | This fixes compiler errors with MSVC's STL.
llvm-svn: 346911 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| | llvm-svn: 346826 | 
| | 
| 
| 
| 
| 
| | Reviewed as https://reviews.llvm.org/D53828
llvm-svn: 346766 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| 
| 
| | This patch adds tests to ensure that multiset/unordered_multiset's emplace
method correctly constructs the elements without any intervening
constructions.
llvm-svn: 346743 | 
| | 
| 
| 
| 
| 
| | for the report
llvm-svn: 346738 | 
| | 
| 
| 
| | llvm-svn: 346630 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | This commit adds a merge member function to all the map and set containers,
which splices nodes from the source container. This completes support for
P0083r3.
Differential revision: https://reviews.llvm.org/D48896
llvm-svn: 345744 | 
| | 
| 
| 
| | llvm-svn: 345425 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | Summary:
Some tests (mainly the new C++20 calendar library) fail when libc++ is
tested with '--param=std=c++98'. The failures happen because the tests
actually don't support C++98, but don't mention C++98 in the
'UNSUPPORTED:' line.
This change fixes the issue.
Reviewers: mclow.lists, ldionne
Reviewed By: ldionne
Subscribers: arphaman, michaelplatings, libcxx-commits
Differential Revision: https://reviews.llvm.org/D53640
llvm-svn: 345148 | 
| | 
| 
| 
| | llvm-svn: 345001 | 
| | 
| 
| 
| | llvm-svn: 344998 | 
| | 
| 
| 
| | llvm-svn: 344997 | 
| | 
| 
| 
| | llvm-svn: 344988 | 
| | 
| 
| 
| | llvm-svn: 344951 | 
| | 
| 
| 
| | llvm-svn: 344950 | 
| | 
| 
| 
| 
| 
| | The test is trying to avoid saying aligned_alloc on Windows' UCRT, which does not (and can not) implement aligned_alloc. However, it's testing for c1xx, meaning clang on Windows will fail this test when using the UCRT.
llvm-svn: 344829 | 
| | 
| 
| 
| 
| 
| | Reviewed as https://reviews.llvm.org/D50551
llvm-svn: 344821 | 
| | 
| 
| 
| 
| 
| 
| 
| | In this example, the ctor of G runs in the main thread in the expression G(), and also in the copy ctor of G() in the DECAY_COPY inside std::thread. The main thread destroys the G() instance at the semicolon, and the started thread destroys the G() after it returns. Thus there is a race between the threads on the n_alive variable.
The fix is to join with the background thread before attempting to destroy the G in the main thread.
llvm-svn: 344820 | 
| | 
| 
| 
| | llvm-svn: 344661 | 
| | 
| 
| 
| 
| 
| | clang. Reviewed as D51762
llvm-svn: 344627 | 
| | 
| 
| 
| 
| 
| | Reverted too much in r344580.
llvm-svn: 344582 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | Revert r344535 "Wrap up the new chrono literals in an #ifdef..."
Revert r344546 "Mark a couple of test cases as 'C++17-only'..."
Some of the buildbot failures were masked by another error,
and this one was probably missed.
llvm-svn: 344580 | 
| | 
| 
| 
| | llvm-svn: 344546 | 
| | 
| 
| 
| 
| 
| | don't complain. I'm looking at you, clang 5.0.1
llvm-svn: 344535 | 
| | 
| 
| 
| 
| 
| | incomplete; there will be more patches coming. Reviewed as D51762
llvm-svn: 344529 | 
| | 
| 
| 
| | llvm-svn: 344421 | 
| | 
| 
| 
| | llvm-svn: 344417 | 
| | 
| 
| 
| 
| 
| | warnings. NFC
llvm-svn: 344416 | 
| | 
| 
| 
| | llvm-svn: 344220 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | PR38682 added a test to check for a race condition in std::future.
Part of the fix is part of the dylib, but there is no released version
of mac OS X that ships a dylib containing the fix. Hence, this test can
(and sometimes does) when testing on OS X. This commit marks the test
as unsupported to avoid spurious failures.
llvm-svn: 344053 | 
| | 
| 
| 
| | llvm-svn: 343435 | 
| | 
| 
| 
| | llvm-svn: 343432 | 
| | 
| 
| 
| 
| 
| | Tested on Docker containers with Clang 4, 5 and 6.
llvm-svn: 342855 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | Debian build bots are running Clang 4, which apparently does not support
the "deprecated" attribute properly. Clang pretends to support the attribute,
but the attribute doesn't do anything.
(live example: https://wandbox.org/permlink/0De69aXns0t1D59r)
On a separate note, I'm not sure I understand why we're even running the
libc++ tests under Clang-4. Is this a configuration we support? I can
understand that libc++ should _build_ with Clang 4, but it's not clear
to me that new libc++ headers should be usable under older compilers
like that.
llvm-svn: 342854 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | Summary:
These deprecation warnings are opt-in: they are only enabled when the
_LIBCXX_DEPRECATION_WARNINGS macro is defined, which is not the case
by default. Note that this is a first step in the right direction, but
I wasn't able to get an exhaustive list of all deprecated components
per standard, so there's certainly stuff that's missing. The list of
components this commit marks as deprecated is:
in C++11:
- auto_ptr, auto_ptr_ref
- binder1st, binder2nd, bind1st(), bind2nd()
- pointer_to_unary_function, pointer_to_binary_function, ptr_fun()
- mem_fun_t, mem_fun1_t, const_mem_fun_t, const_mem_fun1_t, mem_fun()
- mem_fun_ref_t, mem_fun1_ref_t, const_mem_fun_ref_t, const_mem_fun1_ref_t, mem_fun_ref()
in C++14:
- random_shuffle()
in C++17:
- unary_negate, binary_negate, not1(), not2()
<rdar://problem/18168350>
Reviewers: mclow.lists, EricWF
Subscribers: christof, dexonsmith, llvm-commits
Differential Revision: https://reviews.llvm.org/D48912
llvm-svn: 342843 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | One of the SIMD tests attempted to left shift a value by 42, which
is UB when the left hand side is a 32 bit integer type.
This patch adjusts the test to use the value 4 instead of 42.
llvm-svn: 342820 | 
| | 
| 
| 
| | llvm-svn: 342818 | 
| | 
| 
| 
| | llvm-svn: 342609 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | This reverts r342566 as it causes on bots linker errors like
> Undefined symbols for architecture i386:
>   "std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(std::nullptr_t)", referenced from:
llvm-svn: 342599 | 
| | 
| 
| 
| 
| 
| | https://reviews.llvm.org/D44263
llvm-svn: 342566 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | type.
Libc++ correctly asserts that a set of visitors for a variant all
return the same type. However, we use the visitation machinary to
perform relational operations. This causes a static assertion when
some of the alternatives relops return a UDT which is implicitly
convertible to bool instead of 'bool' exactly.
llvm-svn: 342560 | 
| | 
| 
| 
| | llvm-svn: 342524 | 
| | 
| 
| 
| | llvm-svn: 342103 | 
| | 
| 
| 
| 
| 
| | feature test macros, though. Reviewed as: https://reviews.llvm.org/D51955
llvm-svn: 342073 |