| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
uses :-). Thanks to K-ballo for the catch.
llvm-svn: 321188
|
| |
|
|
| |
llvm-svn: 319994
|
| |
|
|
|
|
| |
commented it out.
llvm-svn: 319693
|
| |
|
|
| |
llvm-svn: 319687
|
| |
|
|
|
|
| |
as https://reviews.llvm.org/D40065
llvm-svn: 318804
|
| |
|
|
|
|
| |
string, string_view, and the free function std::empty(). Removed tabs from <string_view>, which is why the diff is so big.
llvm-svn: 318328
|
| |
|
|
|
|
| |
https://reviews.llvm.org/D39033
llvm-svn: 318276
|
| |
|
|
|
|
| |
Update the tests to check this (and other noexcept bits
llvm-svn: 316456
|
| |
|
|
|
|
| |
for the bug report.
llvm-svn: 316439
|
| |
|
|
| |
llvm-svn: 314259
|
| |
|
|
| |
llvm-svn: 314258
|
| |
|
|
|
|
| |
parameter value for rfind/find_last_of/find_last_not_of
llvm-svn: 312693
|
| |
|
|
| |
llvm-svn: 312691
|
| |
|
|
| |
llvm-svn: 312690
|
| |
|
|
|
|
|
|
| |
This makes them consistent (many comments already used uppercase).
The special REQUIRES, UNSUPPORTED, and XFAIL comments are excluded from this change.
llvm-svn: 309468
|
| |
|
|
| |
llvm-svn: 309465
|
| |
|
|
| |
llvm-svn: 309464
|
| |
|
|
| |
llvm-svn: 303899
|
| |
|
|
|
|
|
|
| |
This patch removes the clear() member from <string_view>. The
modifier was removed from the TS before it ever landed in the standard.
There is no reason libc++ should be providing this method.
llvm-svn: 302869
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
In T_size_size.pass, there is an explicit template argument to std::min to ask
for unsigned, to avoid type deduction errors. However, C1XX' warnings still
hate this use, because a 64 bit value (a size_t) is being passed to a function
accepting an unsigned (a 32 bit value).
Instead, change the tests to pass around std::size_t instances, and explicitly
narrow when constructing the string type under test. This also allows
removal of explicit template arguments to std::min.
llvm-svn: 302473
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 300937
|
| |
|
|
| |
llvm-svn: 300633
|
| |
|
|
| |
llvm-svn: 300397
|
| |
|
|
|
|
| |
functions (optional<T> and unique_ptr<T>) which were mistakenly marked as 'noexcept'. Reviewed as https://reviews.llvm.org/D31234
llvm-svn: 298573
|
| |
|
|
|
|
| |
traits::char_type'. Tests for string_view, too
llvm-svn: 297872
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The tests for libc++ specify -target on the command-line to the
compiler, but this is problematic for a few reasons.
Firstly, the -target option isn't supported on Apple platforms. Parts
of the triple get dropped and ignored. Instead, software should be
compiled with a combination of the -arch and -m<name>-version-min
options.
Secondly, the generic "darwin" target references a kernel version
instead of a platform version. Each platform has its own independent
versions (with different versions of libc++.1.dylib), independent of the
version of the Darwin kernel.
This commit adds support to the LIT infrastructure for testing against
Apple platforms using -arch and -platform options.
If the host is not on OS X, or the compiler type is not clang or apple-clang, then this commit has NFC.
If the host is on OS X and --param=target_triple=... is specified, then a warning is emitted to use arch and platform instead. Besides the warning, there's NFC.
If the host is on OS X and *no* target-triple is specified, then use the new deployment target logic. This uses two new lit parameters, --param=arch=<arch> and --param=platform=<platform>. <platform> has the form <name>[<version>].
By default, arch is auto-detected from clang -dumpmachine, and platform is "macosx".
If the platform doesn't have a version:
For "macosx", the version is auto-detected from the host system using sw_vers. This may give a different version than the SDK, since new SDKs can be installed on older hosts.
Otherwise, the version is auto-detected from the SDK version using xcrun --show-sdk-path.
-arch <arch> -m<name>-version-min=<version> is added to the compiler flags.
The target triple is computed as <arch>-apple-<platform>. It is *not* passed to clang, but it is available for XFAIL and UNSUPPORTED (as is with_system_cxx_lib=<target>).
For convenience, apple-darwin and <arch>-apple-darwin are added to the set of available features.
There were a number of tests marked to XFAIL on x86_64-apple-darwin11
and x86_64-apple-darwin12. I updated these to
x86_64-apple-macosx10.7 and x86_64-apple-macosx10.8.
llvm-svn: 297798
|
| |
|
|
| |
llvm-svn: 296840
|
| |
|
|
|
|
|
|
| |
The clang assertion causing these tests failing with sanitizer is fixed
in r295794. All the bots running libcxx tests should be upgraded and
running the compiler with the fix.
llvm-svn: 296385
|
| |
|
|
| |
llvm-svn: 295423
|
| |
|
|
| |
llvm-svn: 295422
|
| |
|
|
| |
llvm-svn: 295417
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
parameter types.
Summary:
This patch fixes http://llvm.org/PR31938. The description below is copy/pasted from the bug:
The standard says:
template<class charT, class traits = char_traits<charT>,
class Allocator = allocator<charT>>
class basic_string {
using value_type = typename traits::char_type;
// ...
basic_string(const charT* s, const Allocator& a = Allocator());
};
libc++ actually chooses to declare the constructor as
basic_string(const value_type* s, const Allocator& a = Allocator());
The implicit deduction guides from class template argument deduction make what was previously an implementation detail visible:
std::basic_string s = "foo"; // error, can't deduce charT.
The constructor in question is in the libc++ DSO, but fortunately it looks like fixing this will not result in an ABI break.
@rsmith How does this look? I did more than just the constructors mentioned in the PR, but IDK how far to take it.
Reviewers: mclow.lists, rsmith
Reviewed By: rsmith
Subscribers: cfe-commits, rsmith
Differential Revision: https://reviews.llvm.org/D29863
llvm-svn: 295393
|
| |
|
|
|
|
| |
No functional change, no code review.
llvm-svn: 294161
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
test/std/strings/string.classes/typedefs.pass.cpp
Actually test what basic_string's typedefs stand for.
test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp
NotDerived and ND were completely unused.
test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp
P2 was mistakenly not being used. Yes, that's
right: -Wunused-local-typedef CAUGHT A MISTAKE! AMAZING!
Fixes D29137.
llvm-svn: 294156
|
| |
|
|
|
|
|
|
| |
These typedefs were completely unused.
Fixes D29136.
llvm-svn: 294155
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Guard typedefs and static_asserts with _LIBCPP_VERSION.
test/std/containers/sequences/vector.bool/move_assign_noexcept.pass.cpp
test/std/containers/sequences/vector.bool/move_noexcept.pass.cpp
test/std/containers/sequences/vector.bool/swap_noexcept.pass.cpp
Additionally deal with conditional compilation.
test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp
test/std/containers/associative/multimap/multimap.cons/move_noexcept.pass.cpp
Additionally deal with typedefs used by other typedefs.
Fixes D29135.
llvm-svn: 294154
|
| |
|
|
| |
llvm-svn: 293623
|
| |
|
|
| |
llvm-svn: 293619
|
| |
|
|
| |
llvm-svn: 293599
|
| |
|
|
|
|
| |
than test code.
llvm-svn: 292943
|
| |
|
|
| |
llvm-svn: 292823
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Exactly what the title says.
This patch also adds a `std::hash<nullptr_t>` specialization in C++17, but it was not added by this paper and I can't find the actual paper that adds it.
See http://wg21.link/P0513R0 for more info.
If there are no comments in the next couple of days I'll commit this
Reviewers: mclow.lists, K-ballo, EricWF
Reviewed By: EricWF
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D28938
llvm-svn: 292684
|
| |
|
|
|
|
| |
No functional change, no code review.
llvm-svn: 292434
|
| |
|
|
|
|
|
|
|
|
| |
When support for `basic_string_view` was added to string it also
added new assignment operators from `basic_string_view`. These caused
ambiguity when assigning from a braced initializer. This patch fixes
that regression by making the basic_string_view assignment operator
rank lower in overload resolution by making it a template.
llvm-svn: 292276
|
| |
|
|
| |
llvm-svn: 291741
|
| |
|
|
| |
llvm-svn: 291475
|
| |
|
|
|
|
| |
4.0 (specifically, r290744)
llvm-svn: 291457
|
| |
|
|
| |
llvm-svn: 290459
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
size_type/difference_type.
test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_container_alloc.pass.cpp
test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_container_alloc.pass.cpp
Iterate with C::size_type because that's what operator[] takes.
test/std/containers/sequences/vector/contiguous.pass.cpp
test/std/strings/basic.string/string.require/contiguous.pass.cpp
Add static_cast<typename C::difference_type> because that's what the iterator's operator+ takes.
Fixes D27777.
llvm-svn: 289734
|