| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
with another constant".
The expressions `1 == 1` and `true` have the same type, value category, and value.
Fixes D32924.
llvm-svn: 302322
|
|
|
|
|
|
|
|
|
|
|
| |
shouldn't be mandated".
In C++17, these iterators are allowed but not required
to inherit from the deprecated std::iterator base class.
Fixes D32727.
llvm-svn: 302318
|
|
|
|
| |
llvm-svn: 302298
|
|
|
|
| |
llvm-svn: 302213
|
|
|
|
| |
llvm-svn: 302182
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Libc++ is used as a system library on macOS and iOS (amongst others). In order
for users to be able to compile a binary that is intended to be deployed to an
older version of the platform, clang provides the
availability attribute <https://clang.llvm.org/docs/AttributeReference.html#availability>_
that can be placed on declarations to describe the lifecycle of a symbol in the
library.
See docs/DesignDocs/AvailabilityMarkup.rst for more information.
Differential Revision: https://reviews.llvm.org/D31739
llvm-svn: 302172
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D32510
llvm-svn: 302162
|
|
|
|
|
|
|
| |
* Add a new macro _MSVC_STL_VER to detect when the MSVC STL is being tested
* Workaround C1XX __is_trivially_copyable bug
llvm-svn: 302158
|
|
|
|
| |
llvm-svn: 302105
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TEST_STD_VER.
_HAS_CXX17 indicates whether MSVC's STL is in C++17 mode.
In MSVC there's a distinction between CRT headers like stdlib.h and STL headers
like cstdlib. Only the STL headers drag in yvals.h, our internal STL-wide header
that defines internal macros like _HAS_CXX17.
_HAS_CXX17 is an MSVC STL library macro, unconditionally defined. We centralize
everything on this, because we have to ask different questions to determine
whether C1XX, EDG, or Clang is in 14 or 17 mode, and we additionally permit
users to override the detection in one way (it's okay to ask for 17 from the
compiler, but only 14 from the libs, at least for the moment; only noexcept
in the type system will give us a headache).
As this header is for testing MSVC's STL, we can assume _HAS_CXX17 is defined.
Fixes D32726.
llvm-svn: 302104
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For std::isinf, the standard requires effectively calling isinf as
double from Libc for integral types. But integral types are never
infinite; we don't need to call Libc to return false.
Also short-circuit other functions where Libc won't have interesting
answers: signbit, fpclassify, isfinite, isnan, and isnormal.
I added correctness tests for integral types since we're no longer
deferring to Libc.
In review it was pointed out that in future revisions of the C++
standard we may add more types to std::is_arithmetic (e.g.,
std::is_fixed_point). I'll leave it to a future commit to hack this to
allow using math functions on those. We'll need to change things like
__libcpp_fpclassify anyway, so I'm not sure anything here would really
be future-proof.
https://reviews.llvm.org/D31561
rdar://problem/31361223
llvm-svn: 301060
|
|
|
|
|
|
|
|
|
|
| |
* Cover optional's emplace-from-initializer_list overload
* Verify that any::emplace and optional::emplace return a reference to the correct type even for throwing cases.
Differential Revision: https://reviews.llvm.org/D32106
llvm-svn: 301055
|
|
|
|
| |
llvm-svn: 300944
|
|
|
|
| |
llvm-svn: 300942
|
|
|
|
|
|
|
|
| |
This patch XFAIL's a number of tests under test/libcxx when on Windows.
These failures need more investigation or patches to either Clang or libc++
but for now we don't want them to prevent the bot from going green.
llvm-svn: 300941
|
|
|
|
| |
llvm-svn: 300937
|
|
|
|
| |
llvm-svn: 300652
|
|
|
|
| |
llvm-svn: 300637
|
|
|
|
| |
llvm-svn: 300635
|
|
|
|
| |
llvm-svn: 300633
|
|
|
|
| |
llvm-svn: 300632
|
|
|
|
| |
llvm-svn: 300627
|
|
|
|
| |
llvm-svn: 300626
|
|
|
|
| |
llvm-svn: 300625
|
|
|
|
| |
llvm-svn: 300623
|
|
|
|
| |
llvm-svn: 300622
|
|
|
|
|
|
|
|
| |
std::unordered_multimap
This completes the cleanup of the containers, at least within the tests.
llvm-svn: 300620
|
|
|
|
|
|
| |
std::unordered_multiset
llvm-svn: 300619
|
|
|
|
| |
llvm-svn: 300604
|
|
|
|
| |
llvm-svn: 300602
|
|
|
|
| |
llvm-svn: 300600
|
|
|
|
| |
llvm-svn: 300595
|
|
|
|
| |
llvm-svn: 300581
|
|
|
|
| |
llvm-svn: 300575
|
|
|
|
|
|
|
|
|
|
| |
unique_ptr hash functions.
These tests were unconditionally asserting that optional and unique_ptr declare throwing hashes, but MSVC++ implements conditional noexcept forwarding that of the underlying hash function. As a result we were failing these tests but there's nothing forbidding strengthening noexcept in that way.
Changed the ASSERT_NOT_NOEXCEPT asserts to use types which themselves have non-noexcept hash functions.
llvm-svn: 300516
|
|
|
|
| |
llvm-svn: 300489
|
|
|
|
|
|
| |
(comment-only change)
llvm-svn: 300488
|
|
|
|
| |
llvm-svn: 300451
|
|
|
|
|
|
| |
extra tests
llvm-svn: 300449
|
|
|
|
| |
llvm-svn: 300417
|
|
|
|
| |
llvm-svn: 300415
|
|
|
|
| |
llvm-svn: 300414
|
|
|
|
| |
llvm-svn: 300413
|
|
|
|
| |
llvm-svn: 300412
|
|
|
|
| |
llvm-svn: 300411
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch cleans up all usages of the following feature test macros inside
<vector> and its tests:
* _LIBCPP_HAS_NO_RVALUE_REFERENCES
* _LIBCPP_HAS_NO_VARIADICS
* _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
Where needed the above guards were replaced with _LIBCPP_CXX03_LANG.
llvm-svn: 300410
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch overhauls both specializations of unique_ptr while implementing
the following LWG issues:
* LWG 2801 - This issue constrains unique_ptr's constructors when the deleter type
is not default constructible. Additionally it adds SFINAE conditions
to unique_ptr<T[]>::unique_ptr(Up).
* LWG 2905 - This issue reworks the unique_ptr(pointer, /* see below */ deleter)
constructors so that they correctly SFINAE when the deleter argument cannot
be used to construct the stored deleter.
* LWG 2520 - This issue fixes initializing unique_ptr<T[]> from nullptr.
Libc++ had previously implemented this issue, but the suggested resolution
still broke initialization from NULL. This patch re-works the
unique_ptr<T[]>(Up, deleter) overloads so that they accept NULL as well
as nullptr.
llvm-svn: 300406
|
|
|
|
|
|
|
| |
Also mark LWG 2857 as complete, since the changes to optional and
any were completed by Marshall earlier.
llvm-svn: 300403
|
|
|
|
| |
llvm-svn: 300399
|
|
|
|
| |
llvm-svn: 300397
|