Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Turn off ASAN's odr-violation diagnostics for now. See PR28391 | Eric Fiselier | 2016-07-01 | 1 | -0/+3 |
| | | | | llvm-svn: 274404 | ||||
* | Flatten the tuple_element and __make_tuple_types implementations. | Eric Fiselier | 2016-07-01 | 1 | -0/+34 |
| | | | | | | | | | | This patch attempts to improve the QoI of std::tuples tuple_element and __make_tuple_types helpers. Previously they required O(N) instantiations, one for every element in the tuple The new implementations are O(1) after __tuple_indices<Id...> is created. llvm-svn: 274330 | ||||
* | Fix static assert problem on gcc; remove XFAILs that I put in in r274250 | Marshall Clow | 2016-06-30 | 6 | -12/+0 |
| | | | | llvm-svn: 274285 | ||||
* | Fix C++03 build. | Eric Fiselier | 2016-06-30 | 5 | -1/+16 |
| | | | | llvm-svn: 274274 | ||||
* | Implement LWG#2688: 'clamp misses preconditions and has extraneous condition ↵ | Marshall Clow | 2016-06-30 | 2 | -4/+135 |
| | | | | | | on result'. We already did this, just added tests llvm-svn: 274252 | ||||
* | Temporarily XFAIL the incomplete type tests for GCC while I figure out why ↵ | Marshall Clow | 2016-06-30 | 6 | -0/+12 |
| | | | | | | adding a static_assert in r274235 broken them llvm-svn: 274250 | ||||
* | Implement LWG#2684: 'priority_queue lacking comparator typedef'. We already ↵ | Marshall Clow | 2016-06-30 | 1 | -0/+4 |
| | | | | | | did this, just added tests llvm-svn: 274243 | ||||
* | Implement LWG#2596: 'vector::data() should use addressof' | Marshall Clow | 2016-06-30 | 2 | -3/+41 |
| | | | | llvm-svn: 274241 | ||||
* | Implement LWG#2441: 'Exact-width atomic typedefs should be provided' | Marshall Clow | 2016-06-30 | 3 | -0/+51 |
| | | | | llvm-svn: 274236 | ||||
* | Implement LWG#2436: 'Comparators for associative containers should always be ↵ | Marshall Clow | 2016-06-30 | 12 | -0/+348 |
| | | | | | | CopyConstructible' llvm-svn: 274235 | ||||
* | Make futures.overview enum tests more portable. Patch from STL@microsoft.com | Eric Fiselier | 2016-06-30 | 2 | -9/+16 |
| | | | | llvm-svn: 274211 | ||||
* | Make std::array typedef tests more portable. | Eric Fiselier | 2016-06-30 | 1 | -4/+25 |
| | | | | llvm-svn: 274210 | ||||
* | Fix ::reference typedef in insert iterators. | Eric Fiselier | 2016-06-30 | 3 | -6/+6 |
| | | | | | | | | | | | | Since at least the C++11 standard insert iterators are specified as having ::reference typedef void. Libc++ was not doing that. This patch corrects the typedef. This patch changes the std::iterator base class of insert_iterator, front_insert_iterator and back_insert_iterator. This should not be an ABI breaking change. llvm-svn: 274209 | ||||
* | Make instreambuf.iterator/types.pass.cpp more portable. | Eric Fiselier | 2016-06-30 | 1 | -6/+12 |
| | | | | llvm-svn: 274207 | ||||
* | Fix use of terse static assert. Patch from STL@microsoft.com | Eric Fiselier | 2016-06-30 | 1 | -1/+1 |
| | | | | llvm-svn: 274206 | ||||
* | Fix unary_function inheritance assumption. Patch from STL@microsoft.com | Eric Fiselier | 2016-06-30 | 1 | -2/+2 |
| | | | | llvm-svn: 274205 | ||||
* | Fix unreferenced parameter warning. Patch from STL@microsoft.com | Eric Fiselier | 2016-06-30 | 1 | -1/+1 |
| | | | | llvm-svn: 274204 | ||||
* | Avoid applying unary minus to unsigned integers. Patch from STL@microsoft.com | Eric Fiselier | 2016-06-30 | 2 | -8/+8 |
| | | | | llvm-svn: 274203 | ||||
* | [libcxx] Fix a bug in strstreambuf::overflow. | Akira Hatanaka | 2016-06-29 | 1 | -0/+32 |
| | | | | | | | | | | | The end pointer should point to one past the end of the newly allocated buffer. rdar://problem/24265174 Differential Revision: http://reviews.llvm.org/D20334 llvm-svn: 274132 | ||||
* | Fix UB in uses_alloc_types.hpp | Eric Fiselier | 2016-06-27 | 1 | -2/+2 |
| | | | | llvm-svn: 273840 | ||||
* | Implement P0163r0. Add shared_ptr::weak_type. | Eric Fiselier | 2016-06-27 | 2 | -1/+7 |
| | | | | | | | | | | This patch adds the weak_type typedef in shared_ptr. It is available in C++17 and newer. This patch also updates the _LIBCPP_STD_VER and TEST_STD_VER macros to have the value of 16, since 2016 is the current year. llvm-svn: 273839 | ||||
* | Implement p0337r0. Delete operator= for polymorphic_allocator. | Eric Fiselier | 2016-06-27 | 2 | -13/+13 |
| | | | | llvm-svn: 273838 | ||||
* | Implement P0358r1. Fixes for not_fn. | Eric Fiselier | 2016-06-27 | 1 | -28/+69 |
| | | | | llvm-svn: 273837 | ||||
* | Fix C++03 failure in enable_shared_from_this test | Eric Fiselier | 2016-06-27 | 1 | -1/+2 |
| | | | | llvm-svn: 273836 | ||||
* | Fix PR27115 - enable_shared_from_this does not work as a virtual base class. | Eric Fiselier | 2016-06-26 | 1 | -0/+16 |
| | | | | | | | | | | | | | See https://llvm.org/bugs/show_bug.cgi?id=27115 The problem was that the conversion from 'const enable_shared_from_this<T>*' to 'const T*' didn't work if T inherited enable_shared_from_this as a virtual base class. The fix is to take the original pointer passed to shared_ptr's constructor in the __enable_weak_this method and perform an upcast to 'const T*' instead of performing a downcast from the enable_shared_from_this base. llvm-svn: 273835 | ||||
* | Fix C++03 build | Eric Fiselier | 2016-06-26 | 2 | -0/+6 |
| | | | | llvm-svn: 273832 | ||||
* | Fix PR28079 - std::wstring_convert move constructor broken. | Eric Fiselier | 2016-06-26 | 2 | -0/+60 |
| | | | | | | | | | | | | | The move constructor for wstring_convert accidentally copied the state member into the converted count member in the move constructor. This patch fixes the typo. While working on this I discovered that wstring_convert doesn't actually provide a move constructor according to the standard and therefore this constructor is a libc++ extension. I'll look further into whether libc++ should provide this constructor at all. Neither libstdc++ or MSVC's STL provide it. llvm-svn: 273831 | ||||
* | Implement LWG 2488 - Make the placeholders constexpr. | Eric Fiselier | 2016-06-26 | 1 | -0/+28 |
| | | | | | | | | | | | | | | | | | | | This patch makes the bind placeholders in std::placeholders both (1) const and (2) constexpr (See below). This is technically a breaking change for any code using the placeholders outside of std::bind and depending on them being non-const. However I don't think this will break any real world code. (1) Previously the placeholders were non-const extern globals in all dialects. This patch changes these extern globals to be const in all dialects. Since the cv-qualifiers don't participate in name mangling for globals this is an ABI compatible change. (2) Make the placeholders constexpr in C++11 and beyond. Although LWG 2488 only applies to C++17 I don't see any reason not to backport this change. llvm-svn: 273824 | ||||
* | Make default_noexcept.pass.cpp container tests more portable. Patch from ↵ | Eric Fiselier | 2016-06-26 | 15 | -27/+42 |
| | | | | | | STL@microsoft.com llvm-svn: 273823 | ||||
* | Work around MSVC bug in atomics.types.generic/address.pass.cpp test. Patch ↵ | Eric Fiselier | 2016-06-26 | 1 | -1/+1 |
| | | | | | | from STL@microsoft.com llvm-svn: 273822 | ||||
* | Use L"cat" L"dog" when concatenating string literals. Patch from ↵ | Eric Fiselier | 2016-06-26 | 1 | -8/+8 |
| | | | | | | STL@microsoft.com llvm-svn: 273821 | ||||
* | Add array bounds assertions to satisfy MSVC's /analyze flag. Patch from ↵ | Eric Fiselier | 2016-06-26 | 3 | -0/+11 |
| | | | | | | STL@microsoft.com llvm-svn: 273820 | ||||
* | Add [[noreturn]] attribute to throw_bad_alloc_helper(). | Eric Fiselier | 2016-06-26 | 2 | -3/+8 |
| | | | | llvm-svn: 273819 | ||||
* | Avoid narrowing conversions in quoted test. Patch from STL@microsoft.com | Eric Fiselier | 2016-06-26 | 1 | -6/+6 |
| | | | | llvm-svn: 273818 | ||||
* | Run list debug copy test in C++03. | Eric Fiselier | 2016-06-22 | 1 | -3/+2 |
| | | | | llvm-svn: 273395 | ||||
* | Finish converting list _LIBCPP_DEBUG tests. | Eric Fiselier | 2016-06-22 | 12 | -118/+206 |
| | | | | llvm-svn: 273394 | ||||
* | Cleanup _LIBCPP_DEBUG tests in std::list. More to come. | Eric Fiselier | 2016-06-22 | 14 | -246/+122 |
| | | | | llvm-svn: 273393 | ||||
* | Disable ccache usage for .fail.cpp tests. It causes bugs. | Eric Fiselier | 2016-06-22 | 2 | -10/+19 |
| | | | | llvm-svn: 273390 | ||||
* | Placate MSVC's unchecked malloc warning in thread tests. | Eric Fiselier | 2016-06-22 | 1 | -1/+3 |
| | | | | llvm-svn: 273385 | ||||
* | Use correct Clang feature names. I got them wrong in the previous commit | Eric Fiselier | 2016-06-22 | 1 | -2/+2 |
| | | | | llvm-svn: 273384 | ||||
* | Support old GCC exception and rtti detection macros | Eric Fiselier | 2016-06-22 | 1 | -2/+4 |
| | | | | llvm-svn: 273383 | ||||
* | Add tests for RTTI/exceptions test macros. | Eric Fiselier | 2016-06-22 | 5 | -0/+105 |
| | | | | llvm-svn: 273382 | ||||
* | Fix exception/rtti detection in tests. | Eric Fiselier | 2016-06-22 | 1 | -2/+2 |
| | | | | | | | | | | So the macros TEST_HAS_NO_EXCEPTIONS and TEST_HAS_NO_RTTI were always getting defined because I spelt __cpp_exceptions and __cpp_rtti as __cxx_exceptions and __cxx_rtti. Tests incoming after this patch. llvm-svn: 273381 | ||||
* | Make shared_ptr constructor tests use count_new.hpp | Eric Fiselier | 2016-06-22 | 5 | -151/+92 |
| | | | | llvm-svn: 273379 | ||||
* | Make locale constructors tests use count_new.hpp | Eric Fiselier | 2016-06-22 | 8 | -129/+18 |
| | | | | llvm-svn: 273375 | ||||
* | Placate MSVC's unchecked malloc warnings. | Eric Fiselier | 2016-06-22 | 4 | -5/+12 |
| | | | | llvm-svn: 273374 | ||||
* | UBSan doesn't globally replace new/delete but it still makes some tests ↵ | Eric Fiselier | 2016-06-22 | 7 | -1/+20 |
| | | | | | | fail. Investigation needed. llvm-svn: 273372 | ||||
* | Cleanup [list.modifiers] tests. | Eric Fiselier | 2016-06-22 | 13 | -404/+185 |
| | | | | llvm-svn: 273371 | ||||
* | Don't use non-conforming pointer_traits specialization it tests. | Eric Fiselier | 2016-06-22 | 1 | -1/+3 |
| | | | | llvm-svn: 273368 | ||||
* | Move remaining _LIBCPP_VERSION tests into test/libcxx | Eric Fiselier | 2016-06-22 | 42 | -0/+0 |
| | | | | llvm-svn: 273367 |