| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 185093
|
| |
|
|
| |
llvm-svn: 184859
|
| |
|
|
|
|
| |
forward_list.
llvm-svn: 184759
|
| |
|
|
| |
llvm-svn: 184673
|
| |
|
|
|
|
| |
for the unordered containers only. This work still needs to be done on the sequence containers.
llvm-svn: 184635
|
| |
|
|
|
|
| |
for the associative containers only. This work still needs to be done on the unordered and sequence containers. Fixes http://llvm.org/bugs/show_bug.cgi?id=15978
llvm-svn: 184358
|
| |
|
|
| |
llvm-svn: 183522
|
| |
|
|
|
|
| |
added.
llvm-svn: 182421
|
| |
|
|
|
|
| |
test. This was causing a const-qualified bind result to malfunction. This was a recent regression due to the new use of __member_pointer_traits in restricting the __invokable and __invoke_of tests.
llvm-svn: 181935
|
| |
|
|
| |
llvm-svn: 181610
|
| |
|
|
| |
llvm-svn: 181548
|
| |
|
|
|
|
| |
http://llvm.org/bugs/show_bug.cgi?id=15861 .
llvm-svn: 181377
|
| |
|
|
| |
llvm-svn: 181336
|
| |
|
|
|
|
| |
piecewise_construct_t. This fixes http://llvm.org/bugs/show_bug.cgi?id=15918 .
llvm-svn: 181217
|
| |
|
|
|
|
|
|
| |
corresponding tests. I've used macros to fall back to a user-provided default constructor if _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS (though I suspect that there won't be many users defining that macro).
The tests use placement new to check that atomic values get properly zero-initialized. I had to modify the atomic_is_lock_free test, because default initialization of an object of const type 'const A' (aka 'const atomic<int>') requires a user-provided default constructor.
llvm-svn: 180945
|
| |
|
|
|
|
|
| |
Use it to build & link against libpthread on NetBSD for tests iff they
are testing the thread interface.
llvm-svn: 180942
|
| |
|
|
|
|
| |
Fixes the value range on platforms with signed char.
llvm-svn: 180940
|
| |
|
|
| |
llvm-svn: 180267
|
| |
|
|
|
|
| |
thought that sizeof(void) would take care of this. I was wrong.
llvm-svn: 180213
|
| |
|
|
|
|
| |
implementing $(( )).
llvm-svn: 180139
|
| |
|
|
| |
llvm-svn: 180108
|
| |
|
|
|
|
| |
drive-by fix of alignment_of while I was in the neighborhood.
llvm-svn: 180036
|
| |
|
|
|
|
| |
self-move-assigns, send me a bug report.' Somebody finally took me up on it. vector::erase(begin(), begin()) does a self-move-assign of every element in the vector, leaving all of those elements in an unspecified state. I checked the other containers for this same bug and did not find it. Added test case.
llvm-svn: 179760
|
| |
|
|
|
|
| |
weak, but I believe all of the functionality is there. Certainly enough for people to checkout and start beating up on.
llvm-svn: 179632
|
| |
|
|
|
|
| |
char&. This fixes http://llvm.org/bugs/show_bug.cgi?id=15754
llvm-svn: 179608
|
| |
|
|
|
|
| |
inputs. This fixes both http://llvm.org/bugs/show_bug.cgi?id=15751 and http://llvm.org/bugs/show_bug.cgi?id=15740
llvm-svn: 179556
|
| |
|
|
|
|
| |
tuple can be explicitly converted.
llvm-svn: 179467
|
| |
|
|
|
|
| |
values.
llvm-svn: 179461
|
| |
|
|
| |
llvm-svn: 178892
|
| |
|
|
| |
llvm-svn: 178873
|
| |
|
|
| |
llvm-svn: 178819
|
| |
|
|
|
|
| |
fixes http://llvm.org/bugs/show_bug.cgi?id=15667.
llvm-svn: 178764
|
| |
|
|
|
|
| |
of the basic_stringbuf into account. Just rewrote these members. Test included. This fixes http://llvm.org/bugs/show_bug.cgi?id=15659.
llvm-svn: 178690
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 178565
|
| |
|
|
| |
llvm-svn: 178370
|
| |
|
|
|
|
| |
disabled, so #ifdef'ing out the test.
llvm-svn: 178350
|
| |
|
|
|
|
| |
bootstrap with libc++.
llvm-svn: 178116
|
| |
|
|
|
|
| |
is especially important for the constructors so that is_constructible<vector<T>, I, I> gives the right answer when T can not be constructed from *I. Test case included for this latter point.
llvm-svn: 178075
|
| |
|
|
|
|
| |
This partially addresses http://llvm.org/bugs/show_bug.cgi?id=15576.
llvm-svn: 178064
|
| |
|
|
| |
llvm-svn: 178033
|
| |
|
|
| |
llvm-svn: 178029
|
| |
|
|
| |
llvm-svn: 178026
|
| |
|
|
| |
llvm-svn: 178016
|
| |
|
|
|
|
| |
improved error message for erasing a single element with end().
llvm-svn: 177929
|
| |
|
|
| |
llvm-svn: 177908
|
| |
|
|
| |
llvm-svn: 177904
|
| |
|
|
|
|
| |
-D_LIBCPP_DEBUG2=1.
llvm-svn: 177897
|
| |
|
|
|
|
| |
test that the debug mode is working, but that won't cause problems when debug mode isn't on. This is my first prototype of such a test. It should call std::terminate() because it's comparing iterators from different containers. And std::terminate() is rigged up to exit normally. If debug mode fails, and doesn't call terminate, then the program asserts. The test is a no-op if _LIBCPP_DEBUG2 is not defined or is defined to be 0.
llvm-svn: 177892
|
| |
|
|
|
|
| |
binomial_distribution test. This eliminates the divide-by-zeros and describes in comments the numerical difficulties the test is having. Each of the problematic tests are exploring edge cases of the distribution.
llvm-svn: 177826
|