| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
| |
This change was reverted in r243550 because it broke clang-format builds
(see PR24306).
This patch recommits a fixed version of the original.
llvm-svn: 243574
|
| |
|
|
|
|
| |
This caused clang-format to stop linking on Mac; see PR24306.
llvm-svn: 243550
|
| |
|
|
|
|
| |
and the suggested fix.
llvm-svn: 243530
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch contains the following changes:
1. Require that libc++ can find a LLVM source directory. This is done the same way as `libc++abi` currently does.
2. Cleanup ugly configuration code in CMakeLists.txt by using `add_flags`, `add_flags_if`, and `add_flags_if_supported` macros.
The goals for this patch are:
1. Help libc++ be more consistent with how LLVM handles CMake options (see PR23670 PR23671).
2. Make it easier to use sanitizers using the `LLVM_USE_SANITIZER` option.
3. Make libc++'s CMakeLists.txt file easier to understand and change.
4. Move towards allowing libc++ to create Sphinx documentation (see http://efcs.ca/libcxx-docs).
5. Move towards allowing libc++ to use other LLVM utilities such as `not` and `FileCheck`.
Reviewers: mclow.lists, jroelofs, danalbert
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D11308
llvm-svn: 243503
|
| |
|
|
| |
llvm-svn: 243499
|
| |
|
|
| |
llvm-svn: 243393
|
| |
|
|
| |
llvm-svn: 243392
|
| |
|
|
|
|
|
| |
Before I start trying to fix __invoke in C++03 it needs better test coverage.
This patch adds a large amount of tests for __invoke.
llvm-svn: 243366
|
| |
|
|
|
|
| |
before. Thanks to Trevor Smigiel for the report
llvm-svn: 243030
|
| |
|
|
| |
llvm-svn: 242967
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
<__functional_03> provides the C++03 definitions for std::memfun and
std::function. However the interaction between <functional> and <__functional_03>
is ugly and duplicates code needlessly. This patch cleans up how the two
headers work together.
The major changes are:
- Provide placeholders, is_bind_expression and is_placeholder in <functional>
for both C++03 and C++11.
- Provide bad_function_call, function fwd decl,
__maybe_derive_from_unary_function and __maybe_derive_from_binary_function
in <functional> for both C++03 and C++11.
- Move the <__functional_03> include to the bottom of <functional>. This makes
it easier to see how <__functional_03> interacts with <functional>
- Remove a commented out implementation of bind in C++03. It's never going
to get implemented.
- Mark almost all std::bind tests as unsupported in C++03. std::is_placeholder
works in C++03 and C++11. std::is_bind_expression is provided in C++03 but
always returns false.
llvm-svn: 242870
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: This patch adds special configuration logic to find the compiler_rt libraries required by sanitizers on OS X. The supported sanitizers are Address and Undefined.
Reviewers: mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D11381
llvm-svn: 242858
|
| |
|
|
| |
llvm-svn: 242695
|
| |
|
|
| |
llvm-svn: 242682
|
| |
|
|
|
|
| |
yet; those are coming soon.
llvm-svn: 242679
|
| |
|
|
| |
llvm-svn: 242634
|
| |
|
|
| |
llvm-svn: 242633
|
| |
|
|
| |
llvm-svn: 242632
|
| |
|
|
| |
llvm-svn: 242630
|
| |
|
|
| |
llvm-svn: 242629
|
| |
|
|
| |
llvm-svn: 242627
|
| |
|
|
| |
llvm-svn: 242626
|
| |
|
|
| |
llvm-svn: 242625
|
| |
|
|
| |
llvm-svn: 242624
|
| |
|
|
|
|
| |
never failed on clang or gcc, but MSVC whined. Patch by Andrew Parker.
llvm-svn: 242618
|
| |
|
|
|
|
| |
This patch was reviewed as D10859. http://reviews.llvm.org/D10859
llvm-svn: 242617
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: This patch adds proper guards to the is_destructible tests depending on the standard version so that they pass in c++03.
Reviewers: mclow.lists, EricWF
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D10047
llvm-svn: 242612
|
| |
|
|
| |
llvm-svn: 242581
|
| |
|
|
|
|
| |
makes the tests work on VS. Thanks to STL for the report
llvm-svn: 242454
|
| |
|
|
|
|
| |
rather than value-initializing them. Fixes PR#24137
llvm-svn: 242377
|
| |
|
|
| |
llvm-svn: 242375
|
| |
|
|
| |
llvm-svn: 242197
|
| |
|
|
| |
llvm-svn: 242195
|
| |
|
|
|
|
| |
Add _LIBCPP_CONSTEXPR to the implementation of __gcc_atomic_t.
llvm-svn: 242172
|
| |
|
|
|
|
| |
noexcept in C++1z
llvm-svn: 242148
|
| |
|
|
|
|
| |
This patch deals with swapping containers, and implements a more strict noexcept specification (a conforming extension) than the standard mandates.
llvm-svn: 242056
|
| |
|
|
|
|
|
| |
Implemented LWG2420 bits for bind<void>
Review: http://reviews.llvm.org/D10997
llvm-svn: 241967
|
| |
|
|
| |
llvm-svn: 241757
|
| |
|
|
| |
llvm-svn: 241555
|
| |
|
|
|
|
| |
http://reviews.llvm.org/D10669
llvm-svn: 241539
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
operations.
Summary:
In some places in libc++ we need to use the `__atomic_*` builtins. This patch adds a header that provides access to those builtins in a uniform way from within the dylib source.
If the compiler building the dylib does not support these builtins then a warning is issued.
Only relaxed loads are needed within the headers. A singe function to do these relaxed loads has been added to `<memory>`.
This patch applies the new atomic builtins to `__shared_count` and `call_once`.
Reviewers: mclow.lists
Subscribers: majnemer, jroelofs, cfe-commits
Differential Revision: http://reviews.llvm.org/D10406
llvm-svn: 241532
|
| |
|
|
|
|
|
|
|
| |
Automatically enable clang verify whenever the '-verify-ignore-unexpected' flag
is supported.
Failure tests are run using verify if they contain one or more "expected-*"
diagnostics tags. Otherwise they are run normally.
llvm-svn: 241492
|
| |
|
|
|
|
| |
is_always_equal. Fixed this, and added a test for it.
llvm-svn: 241190
|
| |
|
|
| |
llvm-svn: 241092
|
| |
|
|
|
|
| |
the transparent comparators don't actually call them. Fix those tests, too. Now one of them is failing, due to a missing const in <map>. Add that (twice). Next step is to do the same for <unordered_map>
llvm-svn: 241091
|
| |
|
|
|
|
| |
should neither be constrained nor explicit'
llvm-svn: 241068
|
| |
|
|
| |
llvm-svn: 241067
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
One of the aspects of CloudABI is that it aims to help you write code
that is thread-safe out of the box. This is very important if you want
to write libraries that are easy to reuse. For CloudABI we decided to
not provide the thread-unsafe functions. So far this is working out
pretty well, as thread-unsafety issues are detected really early on.
The following patch adds a knob to libc++,
_LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS, that can be set to disable
thread-unsafe functions that can easily be avoided in practice. The
following functions are not thread-safe:
- <clocale>: locale handles should be preferred over setlocale().
- <cstdlib>: mbrlen(), mbrtowc() and wcrtomb() should be preferred over
their non-restartable counterparts.
- <ctime>: asctime(), ctime(), gmtime() and localtime() are not
thread-safe. The first two are also deprecated by POSIX.
Differential Revision: http://reviews.llvm.org/D8703
Reviewed by: marshall
llvm-svn: 240527
|
| |
|
|
| |
llvm-svn: 240286
|
| |
|
|
| |
llvm-svn: 240136
|