| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Because we always sort common symbols, we can ignore the option.
llvm-svn: 273842
|
| |
|
|
|
|
|
| |
/std: supports two arguments, c++14 and c++latest. Currently, c++latest
maps to c++1z but this might change down the road.
llvm-svn: 273841
|
| |
|
|
| |
llvm-svn: 273840
|
| |
|
|
|
|
|
|
|
|
| |
This patch adds the weak_type typedef in shared_ptr. It is available in
C++17 and newer.
This patch also updates the _LIBCPP_STD_VER and TEST_STD_VER macros to
have the value of 16, since 2016 is the current year.
llvm-svn: 273839
|
| |
|
|
| |
llvm-svn: 273838
|
| |
|
|
| |
llvm-svn: 273837
|
| |
|
|
| |
llvm-svn: 273836
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
See https://llvm.org/bugs/show_bug.cgi?id=27115
The problem was that the conversion from
'const enable_shared_from_this<T>*' to 'const T*' didn't work if
T inherited enable_shared_from_this as a virtual base class. The fix
is to take the original pointer passed to shared_ptr's constructor in the
__enable_weak_this method and perform an upcast to 'const T*' instead of
performing a downcast from the enable_shared_from_this base.
llvm-svn: 273835
|
| |
|
|
| |
llvm-svn: 273834
|
| |
|
|
| |
llvm-svn: 273833
|
| |
|
|
| |
llvm-svn: 273832
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The move constructor for wstring_convert accidentally copied the state member
into the converted count member in the move constructor. This patch fixes
the typo.
While working on this I discovered that wstring_convert doesn't actually
provide a move constructor according to the standard and therefore this
constructor is a libc++ extension. I'll look further into whether libc++ should
provide this constructor at all. Neither libstdc++ or MSVC's STL provide it.
llvm-svn: 273831
|
| |
|
|
| |
llvm-svn: 273830
|
| |
|
|
| |
llvm-svn: 273829
|
| |
|
|
| |
llvm-svn: 273828
|
| |
|
|
| |
llvm-svn: 273827
|
| |
|
|
| |
llvm-svn: 273826
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This variable is used by ASan (and other sanitizers in the future)
on s390x-linux to override a check for CVE-2016-2143 in the running
kernel (see revision 267747 on compiler-rt). Since the check simply
checks if the kernel version is in a whitelist of known-good versions,
it may miss distribution kernels, or manually-patched kernels - hence
the need for this variable. To enable running the ASan testsuite on
such kernels, this variable should be passed from the environment
down to the testcases.
Differential Revision: http://reviews.llvm.org/D19888
llvm-svn: 273825
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch makes the bind placeholders in std::placeholders both (1) const and
(2) constexpr (See below).
This is technically a breaking change for any code using the placeholders
outside of std::bind and depending on them being non-const. However I don't
think this will break any real world code.
(1) Previously the placeholders were non-const extern globals in all
dialects. This patch changes these extern globals to be const in all dialects.
Since the cv-qualifiers don't participate in name mangling for globals this
is an ABI compatible change.
(2) Make the placeholders constexpr in C++11 and beyond. Although LWG 2488 only
applies to C++17 I don't see any reason not to backport this change.
llvm-svn: 273824
|
| |
|
|
|
|
| |
STL@microsoft.com
llvm-svn: 273823
|
| |
|
|
|
|
| |
from STL@microsoft.com
llvm-svn: 273822
|
| |
|
|
|
|
| |
STL@microsoft.com
llvm-svn: 273821
|
| |
|
|
|
|
| |
STL@microsoft.com
llvm-svn: 273820
|
| |
|
|
| |
llvm-svn: 273819
|
| |
|
|
| |
llvm-svn: 273818
|
| |
|
|
| |
llvm-svn: 273817
|
| |
|
|
|
|
| |
Only minor manual fixes. No functionality change intended.
llvm-svn: 273816
|
| |
|
|
| |
llvm-svn: 273815
|
| |
|
|
|
|
| |
Only minor manual fixes. No functionality change intended.
llvm-svn: 273814
|
| |
|
|
|
|
| |
Only minor manual fixes. No functionality change intended.
llvm-svn: 273813
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D21504
llvm-svn: 273812
|
| |
|
|
|
|
|
|
|
| |
build.
There's a known bug in msvc 2013 that fails to compile do-while loops
inside of ranged for loops.
llvm-svn: 273811
|
| |
|
|
| |
llvm-svn: 273810
|
| |
|
|
| |
llvm-svn: 273809
|
| |
|
|
|
|
| |
Only minor manual fixes. No functionality change intended.
llvm-svn: 273808
|
| |
|
|
|
|
|
|
|
|
|
| |
Added support for:
1. Multi dimension array.
2. Array of structure type, which previously was declared incompletely.
3. Dynamic size array.
Differential Revision: http://reviews.llvm.org/D21526
llvm-svn: 273807
|
| |
|
|
|
|
|
|
|
|
| |
weak_ptrs and destructors in C++
There is a "well-known" TSan false positive when using C++ weak_ptr/shared_ptr and code in destructors, e.g. described at <https://llvm.org/bugs/show_bug.cgi?id=22324>. The "standard" solution is to build and use a TSan-instrumented version of libcxx, which is not trivial for end-users. This patch tries a different approach (on OS X): It adds an interceptor for the specific function in libc++.dylib, which implements the atomic operation that needs to be visible to TSan.
Differential Revision: http://reviews.llvm.org/D21609
llvm-svn: 273806
|
| |
|
|
| |
llvm-svn: 273805
|
| |
|
|
|
|
| |
be created. We can do everything with the starting mask and zeroable bit vector. This removes the last usage of isSingleInputShuffleMask. NFC
llvm-svn: 273804
|
| |
|
|
|
|
| |
UNDEF. Canonicalization and creation of shuffle vector ensures this is equivalent.
llvm-svn: 273803
|
| |
|
|
| |
llvm-svn: 273802
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This is a straightforward extension of what LoopUnswitch does to
branches to guards. That is, we unswitch
```
for (;;) {
...
guard(loop_invariant_cond);
...
}
```
into
```
if (loop_invariant_cond) {
for (;;) {
...
// There is no need to emit guard(true)
...
}
} else {
for (;;) {
...
guard(false);
// SimplifyCFG will clean this up by adding an
// unreachable after the guard(false)
...
}
}
```
Reviewers: majnemer
Subscribers: mcrosier, llvm-commits, mzolotukhin
Differential Revision: http://reviews.llvm.org/D21725
llvm-svn: 273801
|
| |
|
|
| |
llvm-svn: 273800
|
| |
|
|
| |
llvm-svn: 273799
|
| |
|
|
| |
llvm-svn: 273798
|
| |
|
|
| |
llvm-svn: 273797
|
| |
|
|
| |
llvm-svn: 273796
|
| |
|
|
| |
llvm-svn: 273795
|
| |
|
|
| |
llvm-svn: 273794
|
| |
|
|
| |
llvm-svn: 273793
|