Marshall Clow
b41e76bb0b
Fix PR#23767. Add tests for iterator invalidation for deque::erase/pop_front/pop_back
...
llvm-svn: 239196
2015-06-05 22:34:19 +00:00
Joerg Sonnenberger
28444b3074
Avoid C-style cast.
...
llvm-svn: 239160
2015-06-05 15:54:26 +00:00
Marshall Clow
979550f221
While applying N4258, I forgot about LWG#2455, which modified the modifications. Correct those - h/t: Howard
...
llvm-svn: 239004
2015-06-04 02:05:41 +00:00
Marshall Clow
a8ae392718
More N4258 changes. This time vector's constructors
...
llvm-svn: 238990
2015-06-04 00:10:20 +00:00
Marshall Clow
cbf166a2b9
More of N4258 implementation. Mark all of our test_allocators as noexcept constructible. Make the constructors for basic_string noexcept all the time (under C++14). Update tests to reflect the new world order. More to come.
...
llvm-svn: 238957
2015-06-03 19:56:43 +00:00
Marshall Clow
2abfcd5606
Add 'is_always_equal' tests for scoped_allocator. Found that I had typed '||' where I meant '&&' in the code; fixed that, too
...
llvm-svn: 238931
2015-06-03 16:15:55 +00:00
Marshall Clow
3ca2099fdf
Revert changes inadvertantly committed
...
llvm-svn: 238880
2015-06-02 22:26:29 +00:00
Marshall Clow
ef96861df9
Move uncaught_exeption() definition inside the #ifdef block like uncaught_exceptions()
...
llvm-svn: 238879
2015-06-02 22:25:23 +00:00
Marshall Clow
8880c20892
Fix breakage that I introduced in r238848
...
llvm-svn: 238870
2015-06-02 21:40:58 +00:00
Marshall Clow
31a4731370
Implement the first part of N4258 - allocator_traits<X>::is_always_equal. Also fixes PR#23723
...
llvm-svn: 238848
2015-06-02 16:34:03 +00:00
Marshall Clow
89102f0fa9
Implement uncaught_exceptions() using the newly added hooks in libc++abi, when available
...
llvm-svn: 238846
2015-06-02 15:33:38 +00:00
Marshall Clow
5b31205211
Fix some places where we could call memmove(null,xxx,0) - which is UB
...
llvm-svn: 238831
2015-06-02 13:52:16 +00:00
Marshall Clow
e623074210
In the case where we are copying/moving zero elements, do less work
...
llvm-svn: 238828
2015-06-02 13:04:18 +00:00
Eric Fiselier
03d5dd2825
Add missing return statements in C++03 std::function
...
llvm-svn: 238803
2015-06-02 01:31:33 +00:00
Eric Fiselier
a84544ac7a
Add TODO items and remove use of 'noexcept' in C++03 test.
...
llvm-svn: 238802
2015-06-02 01:25:34 +00:00
Marshall Clow
b74d15e507
Remove debugging code
...
llvm-svn: 238674
2015-05-31 14:01:54 +00:00
Marshall Clow
87601bef58
Don't try to memcpy zero bytes; sometimes the source pointer is NULL, and that's UB. Thanks to Nuno Lopes for the catch.
...
llvm-svn: 238666
2015-05-31 03:13:31 +00:00
Eric Fiselier
5ae9b64a09
Add TODO note about switching to __decltype
...
llvm-svn: 238631
2015-05-29 23:21:03 +00:00
Marshall Clow
a7fb9a041d
Fix PR#23647 - make_shared<volatile bool> - second try
...
llvm-svn: 238370
2015-05-27 22:44:47 +00:00
Marshall Clow
188b98b505
Revert 238354 while I figure out what broke in weak_ptr
...
llvm-svn: 238355
2015-05-27 20:36:14 +00:00
Marshall Clow
263a0f7681
Fix PR#23647 - make_shared<volatile bool>
...
llvm-svn: 238354
2015-05-27 20:15:33 +00:00
Marshall Clow
4669541d15
Add N4259 to the list of papers from Lenexa. Update links to point at public repos.
...
llvm-svn: 238340
2015-05-27 17:19:40 +00:00
Eric Fiselier
0961f6cc21
Get thread sleep_for test passing in C++03
...
llvm-svn: 238273
2015-05-27 01:09:51 +00:00
Eric Fiselier
ad60a9a516
Mark __convert_to_integral test as XFAIL in c++03
...
llvm-svn: 238271
2015-05-27 01:02:51 +00:00
Eric Fiselier
3a8fa93ae0
Cleanup move/forward tests and remove references to __rv.
...
llvm-svn: 238270
2015-05-27 00:51:08 +00:00
Eric Fiselier
6871bcb122
Add test macros header to remove dependance on __config macros.
...
llvm-svn: 238267
2015-05-27 00:28:30 +00:00
Marshall Clow
cd6f7f9d80
Fix broken test I just added
...
llvm-svn: 238234
2015-05-26 19:17:09 +00:00
Marshall Clow
c5c29006dc
Add tests to ensure that string/vector/array have contiguous iterators - which they did. Mark N4284 as complete
...
llvm-svn: 238233
2015-05-26 18:57:27 +00:00
Marshall Clow
3ac2b08cbd
Mark N4366 as complete. libc++ has done this since 2012
...
llvm-svn: 238207
2015-05-26 14:58:05 +00:00
Eric Fiselier
80964e7f65
Add TODO items
...
llvm-svn: 237988
2015-05-22 02:23:22 +00:00
Marshall Clow
5cd6a89d35
Start a to-do list for libc++
...
llvm-svn: 237813
2015-05-20 17:39:54 +00:00
Eric Fiselier
1f294fd934
Fix building and testing libc++ with GCC.
...
The changes in src/exception.cpp and cmake/Modules/HandleLibCXXABI.cmake fix a
bug when building libc++ with GCC. Because GCC does not support __has_include
we need to explicitly tell it that we are building against libc++abi via the
preprocessor definition `LIBCXX_BUILDING_LIBCXXABI`.
The changes in include/ratio are to work around CWG defect
1712 (constexpr variable template declarations). GCC 4.8 and before has not
adopted the resolution to this defect.
The changes in include/exception work around an issue where is_final is used
without it being defined in type_traits.
llvm-svn: 237767
2015-05-20 03:15:01 +00:00
Eric Fiselier
513ae1854d
Fix race condition in thread test.
...
llvm-svn: 237745
2015-05-19 23:41:04 +00:00
Eric Fiselier
4bcd428117
Address @danalberts comments on r237700
...
llvm-svn: 237740
2015-05-19 23:10:32 +00:00
Eric Fiselier
3de417f408
Fix uninitialized values and bad enum conversions found by UBSAN.
...
llvm-svn: 237738
2015-05-19 23:03:57 +00:00
Eric Fiselier
35cb2b28ca
Rename internal trait that used non-reserved name.
...
llvm-svn: 237737
2015-05-19 22:27:18 +00:00
Eric Fiselier
deb3033cd2
Add compiler flag test support to LIT. Fix new/delete tests on apple-clang.
...
llvm-svn: 237700
2015-05-19 15:15:53 +00:00
Marshall Clow
a00932bddb
Implement LWG2433: uninitialized_copy()/etc. should tolerate overloaded operator&
...
llvm-svn: 237699
2015-05-19 15:01:48 +00:00
Eric Fiselier
ab8b1ced0a
mark new/delete tests as XFAIL more carefully
...
llvm-svn: 237664
2015-05-19 03:41:22 +00:00
Eric Fiselier
c1a44c4a53
[libcxx] Rework sized delete.
...
Summary:
This patch does 2 main things:
1. Enable sized delete if the feature test macro `__cpp_sized_deallocation` is enabled.
2. Rework and cleanup all of the sized delete tests.
Test Plan:
The sized delete replacement tests are now split into 4 files:
1. sized_delete11.pass.cpp: Ensure overriding sized delete in C++11 has no effect.
2. sized_delete14.pass.cpp: Test overriding sized delete in C++14 and ensure it is called. This test fails on clang and GCC < 5.1.
3. size_delete_calls_unsized_delete_.pass.cpp: Test that the default sized delete calls unsized delete.
4. sized_delete_fsizeddeallocation.pass.cpp: Test overriding sized delete when -fsized-deallocation is passed. This test should pass on clang and GCC >= 5.1
I have also removed a lot of cruft from the old tests. They no longer replace the new handler and tests that it is called for bad allocations.
Reviewers: mclow.lists
Reviewed By: mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D9831
llvm-svn: 237662
2015-05-19 02:03:22 +00:00
Marshall Clow
5ca52716cb
Mark N4510 as complete; we already do this
...
llvm-svn: 237638
2015-05-18 23:25:09 +00:00
Marshall Clow
cd6615fd71
Add support for N4389 - std::bool_constant
...
llvm-svn: 237636
2015-05-18 23:21:06 +00:00
Marshall Clow
c9f1124120
Update C++1z status; mark issues 2059,2369,2415,2454 and 2458 as 'complete'. I have committed patches for all of them
...
llvm-svn: 237606
2015-05-18 19:52:49 +00:00
Marshall Clow
170ccd290d
Update C++1z status; mark all the issues that require no library change as 'complete'
...
llvm-svn: 237604
2015-05-18 19:50:05 +00:00
Marshall Clow
98dbf02e19
Update C++1z status with issues and papers from Lenexa
...
llvm-svn: 237596
2015-05-18 19:01:11 +00:00
Marshall Clow
0e166e5a9a
Fix for LWG Issue 2458: N3778 and new library deallocation signatures.
...
llvm-svn: 237592
2015-05-18 17:48:45 +00:00
Logan Chien
3b6e51a73f
libcxx: Enhance lit test command in verbose mode.
...
Print both the compiler command and linker command so that it will be
easier for developers to reproduce the failed test cases.
llvm-svn: 237530
2015-05-17 00:24:11 +00:00
Marshall Clow
fd30fb22c2
Fix test that was failing on C++03 b/c it was using initializer lists
...
llvm-svn: 237527
2015-05-16 17:10:49 +00:00
Logan Chien
a8e1a28939
Fix build when libunwind is disabled.
...
The previous commit breaks the builds when libc++abi is not built with
libunwind becuase the default value for LIBCXXABI_USE_LLVM_UNWINDER is
OFF, which is not pythonized.
This CL fix the problem by calling pythonize_bool().
llvm-svn: 237519
2015-05-16 13:10:39 +00:00
Logan Chien
891fd46a0a
libcxx: Fix ARM libc++/abi and libunwind buildbot.
...
The test cases were crashing due to the mixed usage of the unwinding
functions from both libunwind and libgcc_s. The unwind functions are
mixed because the "llvm_unwinder" entry is not available in the
lit.site.cfg for libc++. As a result, "-lgcc_s" is picked instead of
"-lunwind". The extra option to lit --param=link_flags="-lunwind" won't
help either.
This CL fix the problem by adding llvm_unwinder to lit.site.cfg.in.
llvm-svn: 237518
2015-05-16 12:44:31 +00:00