| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
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
|
| |
|
|
|
|
| |
-fnoexceptions flag. Although this is not a complete solution, it does reduce the number of test failures on OS X from 467 to 128 on OS X when -fno-exceptions is enabled, and does not impact the number of failures at all when -fno-exceptions is not enabled. The bulk of this code was donated anonymously.
llvm-svn: 177824
|
| |
|
|
|
|
| |
Windows port for these tests to use _tempnam. The bulk of this patch was donated anonymously. I've tested it on OS X and accept responsibility for it. If I've broken anyone's platform by switching from tmpnam to mktemp for the generation of temporary file names, just let me know. Should be easy to fix in test/support/platform_support.h
llvm-svn: 177755
|
| |
|
|
| |
llvm-svn: 177464
|
| |
|
|
| |
llvm-svn: 177355
|
| |
|
|
| |
llvm-svn: 177297
|
| |
|
|
| |
llvm-svn: 177291
|
| |
|
|
|
|
| |
patch fixes it. This fixes http://llvm.org/bugs/show_bug.cgi?id=15445.
llvm-svn: 176711
|
| |
|
|
|
|
|
|
|
|
| |
mutex that it didn't own, causing an assertion failure in mutex.cpp. The issue was that the unique_lock went out of scope, releasing the lock on m, then m.unlock() was called on an already-unlocked mutex.
This change removes the spurious m.unlock() call.
If this test was previously passing for anyone with assertions enabled, then they should investigate bugs in their pthread implementation, as pthread_unlock() should not return 0 if the mutex is currently unlocked.
llvm-svn: 175506
|
| |
|
|
|
|
|
| |
- This is useful for testing with custom ABI libraries.
- Patch by Michael van der Westhuizen.
llvm-svn: 174997
|
| |
|
|
| |
llvm-svn: 174902
|