Marshall Clow
6e07ccdfe1
K-Ballo pointed out a mistake in the add_lvalue_ref tests I checked in; now more of them are passing. Thanks
...
llvm-svn: 255519
2015-12-14 18:11:51 +00:00
Marshall Clow
94b5bc4263
Fix a corner case that involved calling rethrow_if_nested with a type that had a deleted operator&. Added a test to catch this as well. Thanks to Ville for the heads-up.
...
llvm-svn: 255517
2015-12-14 18:01:56 +00:00
Marshall Clow
161eae2daa
Add add_lvalue_ref tests for a few function types, with a note why not more
...
llvm-svn: 255513
2015-12-14 17:34:03 +00:00
Eric Fiselier
fff5ec035b
Use __make_integer_seq builtin for std::make_integer_sequence. Patch by K-ballo.
...
llvm-svn: 255162
2015-12-09 22:03:06 +00:00
Marshall Clow
b8427293df
Last bit of P0006; mark it as complete
...
llvm-svn: 254290
2015-11-30 05:39:30 +00:00
Marshall Clow
12dff9e66a
Fix bugs in alignment_of_v, etc. Re-enable the newly added tests
...
llvm-svn: 254289
2015-11-30 05:20:00 +00:00
Marshall Clow
00b6b01592
Temporarily disable new tests while I figure out what's going on
...
llvm-svn: 254288
2015-11-30 05:15:10 +00:00
Marshall Clow
c8f3816e63
Fix bad macros
...
llvm-svn: 254287
2015-11-30 05:10:10 +00:00
Marshall Clow
4ddfaea773
Implement more of P0006; Type Traits Variable Templates. <ratio>
...
llvm-svn: 254285
2015-11-30 05:04:22 +00:00
Marshall Clow
803a8bb105
Fix bad macros in tests
...
llvm-svn: 254284
2015-11-30 05:03:35 +00:00
Marshall Clow
e12a536d76
Implement more of P0006; Type Traits Variable Templates.
...
llvm-svn: 254283
2015-11-30 04:30:02 +00:00
Marshall Clow
94f89aeec5
Add static_assert to set/multiset/map/multimap/forward_list/deque that the allocator's value_type match the container's value_type. vector/unordered/list/string already do this. Add tests for all the containers to verify this.
...
llvm-svn: 254119
2015-11-26 01:24:04 +00:00
Marshall Clow
9d73243bc1
Silence a -Wmissing-braces warning in the tests; mbstate_t is defined differently on different C libraries.
...
llvm-svn: 254050
2015-11-25 01:06:36 +00:00
Marshall Clow
e0312a3047
Remove undefined behavior from tests; specifically, ensure that the value type of the allocators match the value type of the containers
...
llvm-svn: 254030
2015-11-24 22:10:51 +00:00
Marshall Clow
1867554cc6
Add tests for the extended integer types - as required by LWG#2119
...
llvm-svn: 253376
2015-11-17 21:04:24 +00:00
Marshall Clow
dbd2d32892
Implement P0007: Constant View: A proposal for a std::as_const helper function template.
...
llvm-svn: 253274
2015-11-17 00:08:08 +00:00
Marshall Clow
28ec78e7a5
Fix compile error in test. Can't use `operator[]` for multimap.
...
llvm-svn: 253271
2015-11-16 23:40:27 +00:00
Marshall Clow
b90e350017
More tests for LWG#2156
...
llvm-svn: 253257
2015-11-16 22:18:36 +00:00
Marshall Clow
a9197737f9
LWG#2156 loosened the requirements on unordered containers 'rehash' calls. Add tests to make sure we meet these requirements. Since we met the stricter ones, no code change needed to meet the looser ones.
...
llvm-svn: 253223
2015-11-16 16:42:16 +00:00
Marshall Clow
dd1b261f3a
Implement P0013R1: Logical Operator Type Traits. Make a hidden implementation (__and_, __or_, and __not_) so that we can use them elsewhere in non-C++17 code - for example, in the LFTS
...
llvm-svn: 253215
2015-11-16 15:54:13 +00:00
Marshall Clow
183c010c9a
Implement P0074: Making owner_less more flexible
...
llvm-svn: 252905
2015-11-12 15:56:44 +00:00
Asiri Rathnayake
ea4282d336
[libcxx] Fixup a few fumbles in the initial no-exceptions XFAILs list.
...
The initial buildbot run found a few missing bits in the initial XFAIL list
for the no-exceptions libc++ variant. These discrepancies are as follows:
[1] Following two tests need XFAILs on the no-exceptions library variant.
My local runs had these two disabled for other reasons (unsupported):
- localization/locales/locale/locale.cons/char_pointer.pass.cpp
- numerics/complex.number/complex.ops/complex_divide_complex.pass.cpp
[2] These three does not need XFAILs, they were failing on my local runs for
other reasons:
- depr/depr.c.headers/uchar_h.pass.cpp
- input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
- .../category.collate/locale.collate.byname/transform.pass.cpp
(these are failing on my box for the default build as well)
The current patch fixes both the cases above. Additionally, I've run the
following scan to make sure I've covered all the cases:
> grep ' catch \| try \| throw ' -R . | perl -pe 's|(.*?):.*|\1|' | sort | \
uniq > 1.txt
> grep 'libcpp-no-exceptions' -R . | perl -pe 's|(.*?):.*|\1|' | sort | \
uniq > 2.txt
> diff 1.txt 2.txt
This showed up a few extra interesting cases:
[3] These two tests do not use try/catch/throw statements, but they fail at
runtime. Need to be investigated, I've left the XFAILs in.
- std/thread/futures/futures.shared_future/dtor.pass.cpp
- std/thread/futures/futures.unique_future/dtor.pass.cpp
[4] These tests use a macro named TEST_HAS_NO_EXCEPTIONS to conditionally
exclude try/catch/throw statements when running without exceptions. I'm not
entirely sure why this was needed (AFAIK, we didn't have a no-exceptions
library build before). The macro's defintion is quite similar to that of
_LIBCPP_NO_EXCEPTIONS. I will investigate if this can be reused for my test
fixes or if it should be replaced with _LIBCPP_NO_EXCEPTIONS.
- std/experimental/any/*
Change-Id: I9ad1e0edd78f305406eaa0ab148b1ab693f7e26a
llvm-svn: 252870
2015-11-12 10:41:57 +00:00
Marshall Clow
d1180f4abc
Fix typo I just introduced.
...
llvm-svn: 252614
2015-11-10 16:10:17 +00:00
Marshall Clow
41277d179f
std:: qualify ptrdiff_t in the test. Thanks to Walter for the catch
...
llvm-svn: 252613
2015-11-10 16:04:13 +00:00
Marshall Clow
d17405fe9c
Walter pointed out some missing includes in the tests. Fixing the includes uncovered a couple bugs in the _v type traits. Fixed those, too
...
llvm-svn: 252612
2015-11-10 15:48:23 +00:00
Marshall Clow
bfba968360
Explicitly #include <utility> so that we get std::move. Thanks to Walter for the bug report.
...
llvm-svn: 252610
2015-11-10 15:22:08 +00:00
Asiri Rathnayake
f520c1445f
Make it possible to build a no-exceptions variant of libcxx.
...
Fixes a small omission in libcxx that prevents libcxx being built when
-DLIBCXX_ENABLE_EXCEPTIONS=0 is specified.
This patch adds XFAILS to all those tests that are currently failing
on the new -fno-exceptions library variant. Follow-up patches will
update the tests (progressively) to cope with the new library variant.
Change-Id: I4b801bd8d8e4fe7193df9e55f39f1f393a8ba81a
llvm-svn: 252598
2015-11-10 11:41:22 +00:00
Marshall Clow
e5f1288fa0
Implement LWG#2353: std::next is over-constrained
...
llvm-svn: 252407
2015-11-07 17:48:49 +00:00
Marshall Clow
8be59af1ed
More of P0006R0: type traits variable aliases for C++17.
...
llvm-svn: 252406
2015-11-07 17:44:36 +00:00
Marshall Clow
2cd0d6d625
Implement P0092R1 for C++1z
...
llvm-svn: 252195
2015-11-05 19:33:59 +00:00
Marshall Clow
79dfd99d30
Remove undefined behavior from some tests. Same pattern as the unitialized_copy tests
...
llvm-svn: 251804
2015-11-02 15:29:13 +00:00
Marshall Clow
8eb1d544f8
Remove undefined behavior from some tests. Thanks to Walter Brown for the heads-up.
...
llvm-svn: 251802
2015-11-02 15:25:53 +00:00
Marshall Clow
00ec0bf828
Improve the tests for 'is_literal_type'
...
llvm-svn: 251767
2015-11-01 21:13:10 +00:00
Marshall Clow
dd0ef09954
Implement the first part of P0006R0: Adopt Type Traits Variable Templates for C++17. Significantly augment the existing tests.
...
llvm-svn: 251766
2015-11-01 20:24:59 +00:00
Marshall Clow
131733bcf0
Implement P0004R1 'Remove Deprecated iostreams aliases'
...
llvm-svn: 251618
2015-10-29 05:43:30 +00:00
Marshall Clow
3b72a6ef63
Fix LWG#2489: mem_fn() should be noexcept
...
llvm-svn: 251257
2015-10-25 20:12:16 +00:00
Marshall Clow
531c41e1b8
Add the tests for the last commit
...
llvm-svn: 251254
2015-10-25 19:53:29 +00:00
Marshall Clow
b631c24359
Add a test for LWG#2466: allocator_traits::max_size() default behavior is incorrect
...
llvm-svn: 251252
2015-10-25 19:34:04 +00:00
Marshall Clow
d9977010d0
Add a test for LWG#2462: std::ios_base::failure is overspecified
...
llvm-svn: 251250
2015-10-25 19:20:14 +00:00
Marshall Clow
2603b0758d
Fix LWG#2127: Move-construction with raw_storage_iterator.
...
llvm-svn: 251247
2015-10-25 18:58:07 +00:00
Marshall Clow
9be5356452
Fix LWG#2244: basic_istream::seekg
...
llvm-svn: 251246
2015-10-25 18:31:51 +00:00
Tim Northover
a745ddd9a7
Set LC_COLLATE rather than LANG to override collation.
...
On a system with LC_COLLATE=C, this takes precedence over a non-C LANG
the test tries to impose and the test fails.
llvm-svn: 251131
2015-10-23 17:56:08 +00:00
Richard Smith
f157e47fb8
Fix use of libc++ <foo.h> headers from within an 'extern "C"' context in C++98.
...
Previously, this resulted in us declaring a template for static_assert emulation within the 'extern "C"' context, which is ill-formed.
llvm-svn: 250247
2015-10-13 23:12:22 +00:00
Eric Fiselier
d2a4553d52
Revert r249931 - Remove same_decls.pass.cpp because it fails on OS X and in C++03 mode.
...
llvm-svn: 249938
2015-10-10 03:31:23 +00:00
Eric Fiselier
448dd41588
Get some of wchar_h.pass.cpp working on apple.
...
llvm-svn: 249936
2015-10-10 02:54:41 +00:00
Richard Smith
0ecae015ff
Unrevert r249889, and XFAIL the test for Darwin, where the libc apparently doesn't provide a correct overload set for some functions.
...
llvm-svn: 249932
2015-10-10 01:39:51 +00:00
Richard Smith
3cfee3d010
Add a test that we declare the right set of C library function signatures in ::
...
and std::, and that the names in :: and std:: are declaring the same entity.
llvm-svn: 249931
2015-10-10 01:33:17 +00:00
Manman Ren
79d8bc4c88
Revert r249889 due to bot failure.
...
llvm-svn: 249926
2015-10-10 01:03:55 +00:00
Richard Smith
897758d6ba
Split <wchar.h> out of <cwchar>.
...
llvm-svn: 249889
2015-10-09 19:56:37 +00:00
Richard Smith
a51c8eee6e
Split <stdlib.h> out of <cstdlib>.
...
llvm-svn: 249800
2015-10-09 01:41:45 +00:00