| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 347908
|
|
|
|
|
|
| |
numeric_limits<char8_t> is valid and sane.
llvm-svn: 347904
|
|
|
|
|
|
|
|
|
|
|
| |
`_LIBCPP_ALIGNOF`. "
This reverts commit 087f065cb0c7463f521a62599884493aaee2ea12.
The tests were failing on 32 bit builds, and I don't have time
to clean them up right now. I'll recommit tomorrow with fixed tests.
llvm-svn: 347816
|
|
|
|
| |
llvm-svn: 347789
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Starting in Clang 8.0 and GCC 8.0, `alignof` and `__alignof` return different values in same cases. Specifically `alignof` and `_Alignof` return the minimum alignment for a type, where as `__alignof` returns the preferred alignment. libc++ currently uses `__alignof` but means to use `alignof`. See llvm.org/PR39713
This patch introduces the macro `_LIBCPP_ALIGNOF` so we can control which spelling gets used.
This patch does not introduce any ABI guard to provide the old behavior with newer compilers. However, if we decide that is needed, this patch makes it trivial to implement.
I think we should commit this change immediately, and decide what we want to do about the ABI afterwards.
Reviewers: ldionne, EricWF
Reviewed By: EricWF
Subscribers: christof, libcxx-commits
Differential Revision: https://reviews.llvm.org/D54814
llvm-svn: 347787
|
|
|
|
|
|
| |
enabled
llvm-svn: 347780
|
|
|
|
| |
llvm-svn: 347672
|
|
|
|
|
|
|
|
|
|
| |
In r339743, I marked several aligned allocation tests as downright
unsupported on macosx in an attempt to unbreak the build. It turns
out that marking them as unuspported whenever we're on OS X is way
too coarse grained. This commit marks the tests as XFAIL with more
granularity.
llvm-svn: 347585
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
In PR39232, we noticed that some variant tests started failing in C++2a mode
with recent Clangs, because the rules for literal types changed in C++2a. As
a result, a temporary fix was checked in (enabling the test only in C++17).
This commit is what I believe should be the long term fix: I removed the
tests that checked constexpr default-constructibility with a weird type
from the tests for index() and valueless_by_exception(), and instead I
added tests for those using an obviously literal type in the test for the
default constructor.
Reviewers: EricWF, mclow.lists
Subscribers: christof, jkorous, dexonsmith, arphaman, libcxx-commits, rsmith
Differential Revision: https://reviews.llvm.org/D54767
llvm-svn: 347568
|
|
|
|
|
|
|
|
|
|
|
| |
This is a revert of r347421, except I'm using the with_system_cxx_lib
lit feature instead of availability to mark the test as unsupported
(because the problem is a bug in the dylib itself). In r347421, I said
I wasn't able to reproduce the issue and that's why I was removing it:
this was because I ran lit slightly wrong. The problem mentioned really
exists.
llvm-svn: 347475
|
|
|
|
| |
llvm-svn: 347473
|
|
|
|
| |
llvm-svn: 347461
|
|
|
|
|
|
|
|
|
|
|
|
| |
The iterator types for different specializations of containers with the
same element type but different allocators are not required to be
convertible. This patch makes the test to take the iterator type from
the same container specialization as the created container.
Reviewed as https://reviews.llvm.org/D54806.
Thanks to Andrey Maksimov for the patch.
llvm-svn: 347423
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I wasn't able to reproduce the issue referred to by the comment using
the libc++'s shipped with mac OS X 10.7 and 10.8, so I assume this may
have been fixed in a function that is now shipped in the headers. In
that case, the tests will pass no matter what dylib we're using.
In the worst case, some test bots will start failing and I'll understand
why I was wrong, and I can create an actual lit feature for it. Note
that I could just leave this test alone, but this change is on the path
towards eradicating vendor-specific availability markup from the test
suite.
llvm-svn: 347421
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Avoid buffer overflow by replacing the pointer interface with an array reference interface in C++2a.
Tentatively ready on Batavia2018.
https://wg21.link/lwg2499
https://wg21.link/p0487
Reviewers: mclow.lists, ldionne, EricWF
Reviewed By: ldionne
Subscribers: libcxx-commits, cfe-commits, christof
Differential Revision: https://reviews.llvm.org/D51268
llvm-svn: 347377
|
|
|
|
|
|
|
| |
The '-faligned-allocation' flag uses a feature with the same name (with a
leading dash).
llvm-svn: 347367
|
|
|
|
|
|
| |
P0482 (support for char8_t). Comment out those bits until we implement the corresponding bits in libc++
llvm-svn: 347360
|
|
|
|
| |
llvm-svn: 347343
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
N4151 is not an extension anymore, it was standardized in C++14.
llvm-svn: 347263
|
|
|
|
|
|
|
| |
Reviewed as https://reviews.llvm.org/D54705.
Thanks to Andrey Maksimov for the patch.
llvm-svn: 347233
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|