| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 224658
|
|
|
|
|
|
| |
test/utilities because optional was going to be part of C++14, and then was pulled and put into the Library Fundamentals TS instead. No funcitonality change here; just moving files around.
llvm-svn: 223778
|
|
|
|
| |
llvm-svn: 222143
|
|
|
|
|
|
| |
before C++1z. Update the 1z status page, marking a bunch of issues that don't require library changes as complete (2129, 2212, 2230, 2233, 2325, 2365, 2376)
llvm-svn: 222138
|
|
|
|
| |
llvm-svn: 221398
|
|
|
|
| |
llvm-svn: 221395
|
|
|
|
|
|
| |
functionality change
llvm-svn: 220142
|
|
|
|
|
|
| |
specification'. Thanks to Louis Dionne for the fix.
llvm-svn: 219243
|
|
|
|
|
|
| |
non-const references as 'right hand side'. Add tests. Fixes PR# 20836
llvm-svn: 218286
|
|
|
|
|
|
| |
unknown bound' Thanks to K-ballo for the bug report. Update a few of the other tests while we're here, and fix a typo in a test name.
llvm-svn: 216909
|
|
|
|
| |
llvm-svn: 215985
|
|
|
|
|
|
|
|
| |
from Agustin Berge.
I reviewed the patch and added the test cases.
llvm-svn: 215984
|
|
|
|
| |
llvm-svn: 215769
|
|
|
|
| |
llvm-svn: 213163
|
|
|
|
|
|
|
| |
The maximum alignment on arm is 8, not 16 like on x86. Use alignof(max_align_t)
to make the test work in both cases.
llvm-svn: 210195
|
|
|
|
|
|
| |
libc++) to stop working. And tests
llvm-svn: 209785
|
|
|
|
|
|
| |
see if they were supported in the language. This resulted in a warning when testing using C++03.
llvm-svn: 206482
|
|
|
|
|
|
|
|
|
|
| |
__[u]int128_t
This commit also adds tests for std::numeric_limits<__[u]int128_t>.
Reviewed in http://llvm-reviews.chandlerc.com/D2917
llvm-svn: 204849
|
|
|
|
| |
llvm-svn: 202991
|
|
|
|
|
|
| |
modern versions of clang provide. Also mark LWG #2230 as complete - no code changes needed.
llvm-svn: 202934
|
|
|
|
|
|
| |
function pointers with ref qualifiers. Also a drive-by fix for common_type in C++03 mode. Thanks to Michel Morin for the bug report and the proposed fix.
llvm-svn: 201101
|
|
|
|
| |
llvm-svn: 199542
|
|
|
|
|
|
| |
might declare this as a function.
llvm-svn: 193066
|
|
|
|
| |
llvm-svn: 192142
|
|
|
|
| |
llvm-svn: 192049
|
|
|
|
| |
llvm-svn: 189772
|
|
|
|
|
|
| |
false. This is true in both C++11 and C++1y, but has been clarified by the post C++11 LWG issue 2049.
llvm-svn: 189687
|
|
|
|
|
|
| |
http://llvm.org/bugs/show_bug.cgi?id=16839
llvm-svn: 188080
|
|
|
|
| |
llvm-svn: 186334
|
|
|
|
| |
llvm-svn: 186136
|
|
|
|
| |
llvm-svn: 185865
|
|
|
|
| |
llvm-svn: 185856
|
|
|
|
| |
llvm-svn: 185597
|
|
|
|
|
|
| |
http://llvm.org/bugs/show_bug.cgi?id=15861 .
llvm-svn: 181377
|
|
|
|
|
|
| |
drive-by fix of alignment_of while I was in the neighborhood.
llvm-svn: 180036
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
non-compiler-builtin
implementation of std::is_polymorphic does this:
template <class _Tp> struct __is_polymorphic1 : public _Tp {};
... and that g++ rejects this if _Tp has an inaccessible virtual destructor
(because __is_polymorphic1<_Tp> would have a deleted virtual destructor
overriding _Tp's non-deleted destructor). Clang was failing to reject this;
I've fixed that in r178563, but that causes libc++'s corresponding test
case to fail with both clang and gcc when using the fallback
implementation. The fallback code also incorrectly rejects final types.
The attached patch fixes the fallback implementation of is_polymorphic; we
now use dynamic_cast's detection of polymorphic class types rather than
trying to determine if adding a virtual function makes the type larger:
enable_if<sizeof((_Tp*)dynamic_cast<const volatile
void*>(declval<_Tp*>())) != 0, ...>
Two things of note here:
* the (_Tp*) cast is necessary to work around bugs in Clang and g++ where
we otherwise don't instantiate the dynamic_cast (filed as PR15656)
* the 'const volatile' is here to treat is_polymorphic<cv T> as true for a
polymorphic class type T -- my reading of the standard suggests this is
incorrect, but it matches our builtin __is_polymorphic and gcc
llvm-svn: 178576
|
|
|
|
|
|
| |
__is_trivially_assignable traits. Fixes r10925427 and http://llvm.org/bugs/show_bug.cgi?id=12038.
llvm-svn: 151406
|
|
|
|
|
|
| |
std::underlying_type.
llvm-svn: 135410
|
|
|
|
|
|
| |
allocator_traits<A>::deallocate, allocaate<T>::deallocate, return_temporary_buffer, and default_delete<T>::operator()(T*) const. My rationale was: If a std-dicated noexcept function needs to call another std-defined function, that called function must be noexcept. We're all a little new to noexcept, so things like this are to be expected. Also included fix for broken __is_swappable trait pointed out by Marc Glisse, thanks Marc|. And fixed a test case for is_nothrow_destructible. Destructors are now noexcept by default|
llvm-svn: 132261
|
|
|
|
| |
llvm-svn: 131407
|
|
|
|
|
|
| |
is_trivially_constructible, is_trivially_assignable and underlying_type.
llvm-svn: 131291
|
|
|
|
| |
llvm-svn: 124502
|
|
|
|
| |
llvm-svn: 124193
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a cv-qualifier rvalue reference to the type, e.g.,
template <class _Tp> char __test(const volatile typename remove_reference<_Tp>::type&&);
The use of this function signature rather than the more
straightforward one used in C++98/03 mode, e.g.,
template <class _Tp> char __test(_Tp);
is broken in two ways:
1) An rvalue reference cannot bind to lvalues, so is_convertible<X&,
X&>::value would be false. This breaks two of the unique_ptr tests
on Clang and GCC >= 4.5. Prior GCC's seem to have allowed rvalue
references to bind to lvalues, allowing this bug to slip in.
2) By adding cv-qualifiers to the type we're converting to, we get
some incorrect "true" results for, e.g., is_convertible<const X&, X&>::value.
llvm-svn: 124166
|
|
|
|
| |
llvm-svn: 120029
|
|
|
|
| |
llvm-svn: 119906
|
|
|
|
|
|
| |
emulation; waiting on compiler intrinsics to do it right.
llvm-svn: 119854
|
|
|
|
| |
llvm-svn: 119395
|
|
|
|
|
|
| |
has_nothrow_copy_assign, has_trivial_destructor, has_virtual_destructor, is_pod. Implemented has_copy_assign.
llvm-svn: 113373
|
|
|
|
| |
llvm-svn: 113364
|