| Commit message (Collapse) | Author | Age | Files | Lines | 
| | 
| 
| 
|  | 
llvm-svn: 296840
 | 
| | 
| 
| 
|  | 
llvm-svn: 296831
 | 
| | 
| 
| 
| 
| 
|  | 
when ran in c++11 mode 32 bits
llvm-svn: 296830
 | 
| | 
| 
| 
|  | 
llvm-svn: 296813
 | 
| | 
| 
| 
|  | 
llvm-svn: 296727
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
The test is passing with c++11 and c++14 but not c++1z on this
particular version of the compiler. Try to use lit boolean condition
to satisfy this constaint.
llvm-svn: 296725
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
This reverts commit r296712. It broke our bot.
It turns out that the test is passing with c++11 and c++14 but
not c++1z on this particular version of the compiler. Since one
job is defaulting to c++1z and the other is testing all config I'm
not sure how to fix this...
llvm-svn: 296724
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
This tests is failing in XCode 7.0. But Xcode 7.3 that shipped
an updated clang has this test passing. This is fixing green dragon
which runs this configuration.
llvm-svn: 296712
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
These tests are failing in XCode 8.0, 8.1, and 8.2, but not in Xcode
8.3. Annoyingly the version numbering for clang does not follow Xcode
and is bumped to 8.1 only in Xcode 8.3. So Xfailing apple-clang-8.0
should catch all cases here.
llvm-svn: 296704
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
This patch changes the CMake configuration so that it always
generates the test/lit.site.cfg file, even when testing is disabled.
This allows users to test libc++ without requiring them to have
a full LLVM checkout on their machine.
llvm-svn: 296685
 | 
| | 
| 
| 
|  | 
llvm-svn: 296571
 | 
| | 
| 
| 
|  | 
llvm-svn: 296568
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
This patch adds a static assertion that the specified hash meets
the requirements of an enabled hash, and it ensures that the static
assertion is evaluated before __compressed_pair is instantiated.
That way the static assertion diagnostic is emitted first.
llvm-svn: 296565
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
This patch fixes llvm.org/PR32097 by using the __is_abstract
builtin type-trait instead of the previous library-only implementation.
All supported compilers provide this trait. I've tested as far
back as Clang 3.2, GCC 4.6 and MSVC trunk.
llvm-svn: 296561
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Summary:
`ConstexprTestTypes::NoCtors` is an aggregate type (and consequently a literal type) in C++17,
but not in C++14 since it has a base class. This patch updates the comment to accurately describe the reason for the XFAIL.
Reviewers: EricWF
Reviewed By: EricWF
Differential Revision: https://reviews.llvm.org/D30481
llvm-svn: 296558
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
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: 296338
 | 
| | 
| 
| 
| 
| 
| 
|  | 
When running under clang-cl mode, we do not define `__GNUC__`, resulting
in the test failing.
llvm-svn: 295560
 | 
| | 
| 
| 
| 
| 
| 
|  | 
On certain targets, enumerations may be smaller than an `unsigned long`.
Use an explicitly sized enumeration.
llvm-svn: 295558
 | 
| | 
| 
| 
|  | 
llvm-svn: 295434
 | 
| | 
| 
| 
|  | 
llvm-svn: 295423
 | 
| | 
| 
| 
|  | 
llvm-svn: 295422
 | 
| | 
| 
| 
|  | 
llvm-svn: 295417
 | 
| | 
| 
| 
| 
| 
|  | 
_LIBCPP_ENABLE_CXX17_REMOVED_FEATURES
llvm-svn: 295407
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Summary:
This patch implements [P0003R5](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0003r5.html) which removes exception specifications from C++17.
The only changes to the library are removing `set_unexpected`, `get_unexpected`, `unexpected`, and `unexpected_handler`. These functions can be re-enabled in C++17 using `_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS`.
@mclow.lists what do you think about removing stuff is this way?
Reviewers: mclow.lists
Reviewed By: mclow.lists
Subscribers: mclow.lists, cfe-commits
Differential Revision: https://reviews.llvm.org/D28172
llvm-svn: 295406
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
|  | 
llvm-svn: 295390
 | 
| | 
| 
| 
|  | 
llvm-svn: 294995
 | 
| | 
| 
| 
| 
| 
| 
|  | 
This is checking pthread specific behaviour.  Add a requirement on
pthreads.
llvm-svn: 294956
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
wchar_t is not as portable as char32_t.  On Windows, wchar_t is
16-bytes and on Linux 32-bits.  The conversion to utf8 causes the
characters to exceed the limits on char16_t, resulting in tautological
comparisons.
llvm-svn: 294917
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
This test explicitly is checking the behaviour of std::thread and
pthread interactions.  This requires pthreads.  Add an appropriate
requirement.
llvm-svn: 294903
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Add an unreachable marker to avoid a -Wreturn-type error when building
on Windows.
llvm-svn: 294901
 | 
| | 
| 
| 
|  | 
llvm-svn: 294798
 | 
| | 
| 
| 
|  | 
llvm-svn: 294779
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
This test validates that the lock_guard is declared variadically across
C++03 and C++11.  Given the lack of stable ABI on Windows and the fact
that the RTTI encoding on Windows is different, XFAIL it on that target.
llvm-svn: 294720
 | 
| | 
| 
| 
| 
| 
| 
|  | 
When running the test under clang-cl, we do not report `__GNUC__`, which
is needed to supress the warnings which are being treated as errors.
llvm-svn: 294719
 | 
| | 
| 
| 
| 
| 
| 
|  | 
This patch merges the test python package with the newly
created package in utils.
llvm-svn: 294651
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
Libc++ frequently creates and uses utilities written in python.
Currently there are python modules under both libcxx/test and
libcxx/util. My goal with these changes is to consolidate them
into a single package under libcxx/utils/libcxx.
llvm-svn: 294644
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
A static assertion was misfiring since it checked
is_callable<Visitor, decltype(__variant_alt<T>.value)>. However
the decltype expression doesn't capture the value category as
required. This patch applies extra braces to decltype to fix
that.
llvm-svn: 294612
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Filesystems are not required to maintain a hard link count consistent
with number of subdirectories. For example, on btrfs all directories
have nlink==1. Account for that in the test.
Differential Revision: https://reviews.llvm.org/D29706
llvm-svn: 294431
 | 
| | 
| 
| 
|  | 
llvm-svn: 294417
 | 
| | 
| 
| 
| 
| 
|  | 
internals
llvm-svn: 294391
 | 
| | 
| 
| 
|  | 
llvm-svn: 294355
 | 
| | 
| 
| 
|  | 
llvm-svn: 294353
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Reviewers: EricWF
Reviewed By: EricWF
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D29209
llvm-svn: 294350
 | 
| | 
| 
| 
| 
| 
|  | 
in c++17. Use shuffle() instead. No change to libc++, just the tests.
llvm-svn: 294328
 | 
| | 
| 
| 
| 
| 
|  | 
change.
llvm-svn: 294194
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
In addition to the PR for LWG 2773 this patch also ensures
that each of std::ignores constructors or assignment operators
are constexpr.
llvm-svn: 294165
 | 
| | 
| 
| 
| 
| 
|  | 
No functional change, no code review.
llvm-svn: 294161
 | 
| | 
| 
| 
| 
| 
|  | 
No functional change, no code review.
llvm-svn: 294160
 |