| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 295390
|
|
|
|
| |
llvm-svn: 295355
|
|
|
|
|
|
| |
Fixes a number of tests in the testsuite on Windows.
llvm-svn: 295330
|
|
|
|
|
|
|
|
|
|
| |
On Windows, we were using `Sleep` which is not alertable. This means
that if the thread was used for a user APC or WinProc handling and
thread::sleep was used, we could potentially dead lock. Use `SleepEx`
with an alertable sleep, resuming until the time has expired if we are
awoken early.
llvm-svn: 295329
|
|
|
|
| |
llvm-svn: 294995
|
|
|
|
|
|
|
|
| |
clang cannot properly handle __declspec and __attribute__ on classes
right now. This prevents the shared_mutex tests from working. Disable
the use of the annotation on COFF targets.
llvm-svn: 294958
|
|
|
|
|
|
|
| |
The previous changes missed the change to include/cmath. These changes
allow some of the rand.distribution tests to pass on Windows.
llvm-svn: 294957
|
|
|
|
|
|
|
| |
This is checking pthread specific behaviour. Add a requirement on
pthreads.
llvm-svn: 294956
|
|
|
|
|
|
|
|
| |
Pull in the math functions from ucrt 14+ after auditing the library. It
seems that they are now complete for C99 math. Fixes more windows
tests!
llvm-svn: 294918
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
The newer ucrt version provides the gamma meth routines. Includede them
when building the library.
llvm-svn: 294902
|
|
|
|
|
|
|
| |
Add an unreachable marker to avoid a -Wreturn-type error when building
on Windows.
llvm-svn: 294901
|
|
|
|
|
|
|
|
| |
The newer versions of ucrt have the math routines. Use the CRT version
to determine if we should include the math routines. Fixes two tests
for Windows.
llvm-svn: 294899
|
|
|
|
|
|
|
| |
CloudABI has gained the setlocale() function in the meantime, meaning
there is no longer a need to conditionalize this.
llvm-svn: 294833
|
|
|
|
|
|
|
| |
CloudABI does provide unistd.h, but doesn't define __unix__. We need to
include this header file to make hardware_concurrency work.
llvm-svn: 294832
|
|
|
|
| |
llvm-svn: 294798
|
|
|
|
| |
llvm-svn: 294779
|
|
|
|
| |
llvm-svn: 294732
|
|
|
|
| |
llvm-svn: 294731
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
files for different runtimes."
This recommits r294707 with additional fixes. The main difference is
libc++ now correctly builds without any ABI library.
exception.cpp is a bloody mess. It's full of confusing #ifdef branches for
each different ABI library we support, and it's getting unmaintainable.
This patch breaks down exception.cpp into multiple different header files,
roughly one per implementation. Additionally it moves the definitions of
exceptions in new.cpp into the correct implementation header.
This patch also removes an unmaintained libc++abi configuration.
This configuration may still be used by Apple internally but there
are no other possible users. If it turns out that Apple still uses
this configuration internally I will re-add it in a later commit.
See http://llvm.org/PR31904.
llvm-svn: 294730
|
|
|
|
|
|
|
|
| |
for different runtimes."
The compiler-rt CMake configuration needs some tweaking before this can land.
llvm-svn: 294727
|
|
|
|
| |
llvm-svn: 294721
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 294718
|
|
|
|
|
|
|
|
| |
When running the tests on Windows with a debug build, _DEBUG must be
added to the flags prior to the -target as the forced inclusion of a
header will prevent the compile test for the flag to fail.
llvm-svn: 294716
|
|
|
|
|
|
|
| |
This patch fixes a regression where libc++ didn't correctly
select the system libc++abi when no in-tree version was found.
llvm-svn: 294712
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
different runtimes.
exception.cpp is a bloody mess. It's full of confusing #ifdef branches for
each different ABI library we support, and it's getting unmaintainable.
This patch breaks down exception.cpp into multiple different header files,
roughly one per implementation. Additionally it moves the definitions of
exceptions in new.cpp into the correct implementation header.
This patch also removes an unmaintained libc++abi configuration.
This configuration may still be used by Apple internally but there
are no other possible users. If it turns out that Apple still uses
this configuration internally I will re-add it in a later commit.
See http://llvm.org/PR31904.
llvm-svn: 294707
|
|
|
|
|
|
|
|
|
| |
This covers how to build libc++ for Windows. This allows others to
replicate the MS ABI style build for libc++. It only depends on msvcrt
as it uses the Windows threading model and the Windows ABI and can serve
as an ABI compatible replacement for msvcprt.
llvm-svn: 294705
|
|
|
|
| |
llvm-svn: 294699
|
|
|
|
|
|
|
|
| |
The build was broken as there was no overload for long and
std::chrono::nanoseconds. Add an explicit conversion to use the
operator+.
llvm-svn: 294698
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This can cause a compile failure in cases like:
double log(double);
namespace foo {
namespace log {}
}
using namespace foo;
void bar(int i) {
log((double)i);
}
Reviewers: EricWF, mclow.lists
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D29804
llvm-svn: 294696
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Libcxx will define its own max_align_t when it is not available. However, the
availability checks today only check for Clang's definition and GCC's
definition. In particular, it does not check for musl's definition, which is the
same as GCC's but guarded with a different macro.
Reviewers: mclow.lists, EricWF
Reviewed By: EricWF
Subscribers: chandlerc, cfe-commits
Differential Revision: https://reviews.llvm.org/D28478
llvm-svn: 294683
|
|
|
|
| |
llvm-svn: 294673
|
|
|
|
| |
llvm-svn: 294660
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 294585
|
|
|
|
|
|
|
|
|
|
| |
Different platforms implement the wait/sleep functions in difrerent ways.
It makes sense to externalize this into the threading API.
Differential revision: https://reviews.llvm.org/D29630
Reviewers: EricWF, joerg
llvm-svn: 294573
|
|
|
|
|
|
|
|
|
|
|
| |
When building as part of runtimes, there is no predefined order in
which the runtimes are loaded, so the targets from other projects
might not be available. We need to rely on HAVE_<name> variables
instead in that case.
Differential Revision: https://reviews.llvm.org/D29575
llvm-svn: 294553
|
|
|
|
| |
llvm-svn: 294501
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 294393
|
|
|
|
|
|
| |
internals
llvm-svn: 294391
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Recently I turned on libc++'s debug mode assertions when
CMake is configured with -DLIBCXX_ENABLE_ASSERTIONS=ON. This
change exposed assertion failures caused by bugs in filesystem.
This patch fixes those failures.
The first bug was that `PathParser` was using front()/back()
on empty string views in order to get the address of the character.
However this is UB on empty strings. Those operations now use data()
to obtain the pointer.
The second bug was that directory_iterator attempted to capture errno when it
was unset and there was an assertion to detect this.
llvm-svn: 294360
|
|
|
|
| |
llvm-svn: 294355
|
|
|
|
| |
llvm-svn: 294353
|