| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 278323
|
|
|
|
| |
llvm-svn: 278319
|
|
|
|
| |
llvm-svn: 276608
|
|
|
|
| |
llvm-svn: 276605
|
|
|
|
|
|
|
| |
I think I've solved issues with is_assignable and references to incomplete
types. The updated patch adds tests for this case.
llvm-svn: 276603
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a breaking change. The SFINAE required is instantiated the second
the class is instantiated, and this can cause hard SFINAE errors
when applied to references to incomplete types. Ex.
struct IncompleteType;
extern IncompleteType it;
std::tuple<IncompleteType&> t(it); // SFINAE will blow up.
llvm-svn: 276598
|
|
|
|
|
|
|
|
| |
In C++03 mode evaluating the SFINAE can cause a hard error due to
access control violations. This is a problem because the SFINAE
is evaluated as soon as the class is instantiated, and not later.
llvm-svn: 276594
|
|
|
|
| |
llvm-svn: 276548
|
|
|
|
|
|
|
| |
That paper also has changes to any/optional but those will
be implemented later.
llvm-svn: 276537
|
|
|
|
| |
llvm-svn: 273367
|
|
|
|
|
|
|
|
|
| |
TEST_STD_VER.
This is a huge cleanup that helps make the libc++ test suite more portable.
Patch from STL@microsoft.com. Thanks STL!
llvm-svn: 272716
|
|
|
|
| |
llvm-svn: 272613
|
|
|
|
|
|
|
|
|
| |
Adds XFAIL/UNSUPPORTED lit tags as appropriate. Gets a clean test run
for -std=c++98 on Fedora 20.
NFC.
llvm-svn: 271741
|
|
|
|
| |
llvm-svn: 271435
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Quite a few libcxx tests seem to follow the format:
#if _LIBCPP_STD_VER > X
// Do test.
#else
// Empty test.
#endif
We should instead use the UNSUPPORTED lit directive to exclude the test on
earlier C++ standards. This gives us a more accurate number of test passes
for those standards and avoids unnecessary conflicts with other lit
directives on the same tests.
Reviewers: bcraig, ericwf, mclow.lists
Differential revision: http://reviews.llvm.org/D20730
llvm-svn: 271108
|
|
|
|
| |
llvm-svn: 268543
|
|
|
|
| |
llvm-svn: 268284
|
|
|
|
| |
llvm-svn: 267079
|
|
|
|
|
|
| |
initializer_list doesn't exist in C++03.
llvm-svn: 266820
|
|
|
|
|
|
|
| |
The C++11 and C++14 standards both say in the header <utility> synopsis that
<utility> shall include <initializer_list>.
llvm-svn: 266808
|
|
|
|
| |
llvm-svn: 258287
|
|
|
|
|
|
| |
Fixes bugs #26120 and #26121. Thanks to Jonathan Wakely for the reports and the patches.
llvm-svn: 257474
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
constructors.
Summary: This patch implements the solution for LWG Issue #2367. See http://cplusplus.github.io/LWG/lwg-active.html#2367
Reviewers: mclow.lists, EricWF
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D13750
llvm-svn: 256325
|
|
|
|
|
|
|
| |
K-Ballo.
Review: http://reviews.llvm.org/D14839
llvm-svn: 255941
|
|
|
|
|
|
| |
function template.
llvm-svn: 253274
|
|
|
|
|
|
| |
the fix, but for the wrong reason. Now it fails for the right reason.
llvm-svn: 248307
|
|
|
|
| |
llvm-svn: 248305
|
|
|
|
| |
llvm-svn: 243392
|
|
|
|
| |
llvm-svn: 238270
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of !defined(_LIBCPP_HAS_NO_VARIADICS) block.
Summary:
There is no reason to guard `tuple_size`, `tuple_element` and `get<I>(...)` for pair and array inside of `<__tuple>` so that they are only available when we have variadic templates.
This requires there be redundant declarations and definitions. It also makes it easy to get things wrong.
For example the following code should compile (and does in c++11).
```
#define _LIBCPP_HAS_NO_VARIADICS
#include <array>
int main()
{
static_assert((std::tuple_size<std::array<int, 10> volatile>::value == 10), "");
}
```
This patch lifts the non-variadic parts of `tuple_size`, `tuple_types`, and `get<I>(...)` to the top of `<__tuple>` where they don't require variadic templates. This patch also removes `<__tuple_03>` because there is no longer a need for it.
Reviewers: danalbert, K-ballo, mclow.lists
Reviewed By: mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D7774
llvm-svn: 232492
|
|
llvm-svn: 224658
|