| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 248988
|
|
|
|
| |
llvm-svn: 247036
|
|
|
|
| |
llvm-svn: 245411
|
|
|
|
|
|
| |
has decreed 'no exceptions'. This matches the behavior of string and vector
llvm-svn: 245239
|
|
|
|
| |
llvm-svn: 243729
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch adds the second revision of <experimental/any>.
I've been working from the LFTS draft found at this link. https://rawgit.com/cplusplus/fundamentals-ts/v1/fundamentals-ts.html#any
Reviewers: danalbert, jroelofs, K-ballo, mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D6762
llvm-svn: 243728
|
|
|
|
| |
llvm-svn: 242682
|
|
|
|
|
|
| |
yet; those are coming soon.
llvm-svn: 242679
|
|
|
|
|
|
|
| |
Following specification in "C++ Extensions for Library Fundamentals":
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4480.html#alg.random.sample
llvm-svn: 237264
|
|
|
|
| |
llvm-svn: 235607
|
|
|
|
| |
llvm-svn: 235274
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch adds the `<experimental/tuple>` header (almost) as specified in the latest draft of the library fundamentals TS.
The main changes in this patch are:
1. Added variable template `tuple_size_v`
2. Added function `apply(Func &&, Tuple &&)`.
3. Changed `__invoke` to be `_LIBCPP_CONSTEXPR_AFTER_CXX11`.
The `apply(...)` implementation uses `__invoke` to invoke the given function. `__invoke` already provides the required functionality. Using `__invoke` also allows `apply` to be used on pointers to member function/objects as an extension. In order to facilitate this `__invoke` has to be marked `constexpr`.
Test Plan:
Each new feature was tested.
The test cases for `tuple_size_v` are as follows:
1. tuple_size_v.pass.cpp
- Check `tuple_size_v` on cv qualified tuples, pairs and arrays.
2. tuple_size_v.fail.cpp
- Test on reference type.
3. tuple_size_v_2.fail.cpp
- Test on non-tuple
4. tuple_size_v_3.fail.cpp
- Test on pointer type.
The test cases for tuple.apply are as follows:
1. arg_type.pass.cpp
- Ensure that ref/pointer/cv qualified types are properly passed.
2. constexpr_types.pass.cpp
- Ensure constexpr evaluation of apply is possible for `tuple` and `pair`.
3. extended_types.pass.cpp
- Test apply on function types permitted by extension.
4. large_arity.pass.cpp
- Test that apply can evaluated on tuples and arrays with large sizes.
5. ref_qualifiers.pass.cpp
- Test that apply respects ref qualified functions.
6. return_type.pass.cpp
- Test that apply returns the proper type.
7. types.pass.cpp
- Test apply on function types as required by LFTS.
Reviewers: mclow.lists
Reviewed By: mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4512
llvm-svn: 232515
|
|
|
|
|
|
| |
functionality change.
llvm-svn: 232493
|
|
|
|
|
|
| |
for the bug report, and Jonathan Wakeley for the code review in the bar.
llvm-svn: 230260
|
|
|
|
| |
llvm-svn: 229698
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch is pretty simple. It just adds the _v traits from <ratio>.
The draft can be found here.
Reviewers: jroelofs, K-ballo, mclow.lists
Reviewed By: mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D7351
llvm-svn: 229509
|
|
|
|
|
|
|
|
|
|
| |
Visual Studio's SAL extension uses a macro named __deallocate. This macro is
used pervasively, and gets included through various different ways. This
conflicts with the similarly named interfaces in libc++. Introduce a undef
header similar to __undef_min_max to handle this. This fixes a number of errors
due to the macro replacing the function name.
llvm-svn: 229162
|
|
|
|
|
|
| |
tests to char_traits specializations
llvm-svn: 228981
|
|
|
|
|
|
| |
which is undefined behavior
llvm-svn: 228952
|
|
|
|
| |
llvm-svn: 228712
|
|
|
|
| |
llvm-svn: 228711
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch just adds the variable templates in <experimental/system_error>.
see: https://rawgit.com/cplusplus/fundamentals-ts/v1/fundamentals-ts.html#syserror
Reviewers: jroelofs, danalbert, K-ballo, mclow.lists
Reviewed By: mclow.lists
Subscribers: chandlerc, cfe-commits
Differential Revision: http://reviews.llvm.org/D7353
llvm-svn: 227973
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch adds <experimental/chrono> which only contains a single variable template.
See: https://rawgit.com/cplusplus/fundamentals-ts/v1/fundamentals-ts.html#time
Reviewers: jroelofs, danalbert, K-ballo, mclow.lists
Reviewed By: mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D7352
llvm-svn: 227860
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This adds the <experimental/type_traits> (minus invocation traits). Mostly just the `_v` traits.
Reviewers: K-ballo, mclow.lists
Reviewed By: mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D5742
llvm-svn: 224626
|
|
|
|
|
|
| |
bad_optional_access to match the Library Fundamentals draft standard. This is not all of the upcoming changes to optional, though.
llvm-svn: 223775
|
|
|
|
|
|
| |
_LIBCPP_ASSERT, since this is technically undefined behavior. Fixes PR#21496
llvm-svn: 221717
|
|
|
|
| |
llvm-svn: 221101
|
|
|
|
|
|
| |
corresponding #ifdef. Thanks to K-ballo for the catch. No functionality change.
llvm-svn: 220647
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
external include guards.
Things done in this patch:
1. Make __debug include __config since it uses macros from it.
2. The current method of defining _LIBCPP_ASSERT is prone to redefinitions. Move
the null _LIBCPP_ASSERT definition into the __debug header to prevent this.
3. Remove external <__debug> include gaurds. <__debug> guards almost all of its
contents internally. There is no reason to be doing it externally.
This patch should not change any functionality.
llvm-svn: 215332
|
|
|
|
| |
llvm-svn: 215326
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: The polymorphic allocator implementation would greatly benefit by defining virtual functions in the dynlib instead of inline. In order to do that some types are going to have to be available outside of c++1y. This is the first step.
Reviewers: mclow.lists, EricWF
Reviewed By: EricWF
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4554
llvm-svn: 213889
|
|
|
|
|
|
| |
back it up at the moment; just comments
llvm-svn: 213768
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch adds the `<experimental/utility>` header as specified in the latest draft of the library fundamentals TS.
`<experimental/utility>` only contains `class erased_type`.
This patch also updates the documentation to list the `erased_type` class as "initial implementation complete".
Test Plan:
Three test cases where added:
1. Test that `_LIBCPP_VERSION` is defined.
2. Test that `<utility>` has been included.
3. Test that `erased_type` is in the correct namespace and is constexpr default constructible.
Reviewers: mclow.lists
Reviewed By: mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4510
llvm-svn: 213226
|
|
|
|
|
|
| |
support (thanks to Richard for the suggestions). Update the tests to match this. Add <experimental/__config for experimental macros/etc to live.
llvm-svn: 212569
|
|
|
|
|
|
| |
Also, make the tests pass under c++03
llvm-svn: 212185
|
|
|
|
|
|
| |
No functionality change.
llvm-svn: 211191
|
|
|
|
|
|
| |
in C++11 and 03, with reduced functionality (mostly in the area of constexpr)
llvm-svn: 210659
|
|
|
|
|
|
| |
allows allocations and deallocations to be optimized out.
llvm-svn: 210211
|
|
|
|
|
|
| |
namespace, since it's not part of C++14, but of an upcoming TS
llvm-svn: 194867
|
|
namespace, since it's not part of C++14, but of an upcoming TS
llvm-svn: 194614
|