Alexis Hunt
bbe2b9dbc4
Fix wchar tests by not assuming that tm is complete and by using the
...
proper va_list time on non-darwin platforms.
llvm-svn: 135247
2011-07-15 05:44:47 +00:00
Howard Hinnant
11af28bdbd
Fixing up some ABI issues
...
llvm-svn: 134639
2011-07-07 21:03:52 +00:00
Alexis Hunt
dca31a7964
<inttypes.h> does not necessarily include <stdint.h>. Accordingly, do
...
not test for this.
llvm-svn: 134531
2011-07-06 20:52:28 +00:00
Howard Hinnant
5a33687da0
Correct for new rules regarding implicitly deleted special members. http://llvm.org/bugs/show_bug.cgi?id=10191
...
llvm-svn: 134248
2011-07-01 19:24:36 +00:00
Howard Hinnant
878e035ea1
test for pair piecewise construction
...
llvm-svn: 133667
2011-06-22 23:51:19 +00:00
Howard Hinnant
bd0c160078
noexcept for <stack>. This completes noexcept for Chapter 23 [containers].
...
llvm-svn: 132652
2011-06-04 22:09:19 +00:00
Howard Hinnant
6971d82668
noexcept for <queue>.
...
llvm-svn: 132650
2011-06-04 21:32:33 +00:00
Howard Hinnant
557da866a3
noexcept for <unordered_set>.
...
llvm-svn: 132647
2011-06-04 20:18:37 +00:00
Howard Hinnant
3714107ed6
noexcept for <unordered_map>.
...
llvm-svn: 132646
2011-06-04 18:54:24 +00:00
Howard Hinnant
0e9f71c13f
noexcept for <set>. Plus a few fixes to noexcept for <map>.
...
llvm-svn: 132640
2011-06-04 15:22:34 +00:00
Howard Hinnant
1052ee39cb
noexcept for <map>.
...
llvm-svn: 132639
2011-06-04 14:31:57 +00:00
Howard Hinnant
3297ed7065
noexcept for <vector>. This also includes installing move_if_noexcept() into vector.
...
llvm-svn: 132577
2011-06-03 19:40:40 +00:00
Howard Hinnant
2d45a18c24
Bring noexcept for <string> inline with other containers.
...
llvm-svn: 132573
2011-06-03 18:40:47 +00:00
Howard Hinnant
4590010473
noexcept for <list>.
...
llvm-svn: 132562
2011-06-03 17:30:28 +00:00
Howard Hinnant
91a4750733
noexcept for <forward_list>.
...
llvm-svn: 132553
2011-06-03 16:20:53 +00:00
Howard Hinnant
801291139c
After sleeping on it I've decided that all special members that can be noexcept, should be declared so. The client has the traits to detect and branch on this information, and it is often an important optimization. Give deque() a noexcept. Add test for deque default constructor and deque destructor.
...
llvm-svn: 132549
2011-06-03 15:16:49 +00:00
Howard Hinnant
60954bbbbc
Add noexcept tests for deque.
...
llvm-svn: 132523
2011-06-03 01:46:22 +00:00
Howard Hinnant
3739fe79e5
noexcept for <memory>. I've added a few extension noexcept to: allocator_traits<A>::deallocate, allocaate<T>::deallocate, return_temporary_buffer, and default_delete<T>::operator()(T*) const. My rationale was: If a std-dicated noexcept function needs to call another std-defined function, that called function must be noexcept. We're all a little new to noexcept, so things like this are to be expected. Also included fix for broken __is_swappable trait pointed out by Marc Glisse, thanks Marc|. And fixed a test case for is_nothrow_destructible. Destructors are now noexcept by default|
...
llvm-svn: 132261
2011-05-28 14:41:13 +00:00
Howard Hinnant
2344d6c195
Simplied bind using __invoke. In the process, found and fixed a couple of bugs. C++11 only.
...
llvm-svn: 131667
2011-05-19 19:41:47 +00:00
Howard Hinnant
c2bf9e1851
This commit was accidental. Reverting.
...
llvm-svn: 131514
2011-05-18 00:47:00 +00:00
Howard Hinnant
781afe1934
A bunch of future tests got invalidated with the latest updates to thread. Fixed the tests.
...
llvm-svn: 131509
2011-05-17 23:32:48 +00:00
Howard Hinnant
5fdeee5b3a
Fix and beef up test bug for move_if_noexcept
...
llvm-svn: 131483
2011-05-17 20:10:42 +00:00
Howard Hinnant
fe7e3eeddc
Clean up a bunch of warnings in the tests, 3 of which actually turned out to be test bugs.
...
llvm-svn: 131479
2011-05-17 19:12:55 +00:00
Howard Hinnant
872a91167e
Brought call_once variadic call up to current spec, which allows move-only functors and move-only arguments, but disallows functors with non-const lvalue reference parameters.
...
llvm-svn: 131414
2011-05-16 19:05:11 +00:00
Howard Hinnant
8df61ea84d
Brought thread variadic constructor up to current spec, which allows move-only functors and move-only arguments, but disallows functors with non-const lvalue reference parameters.
...
llvm-svn: 131413
2011-05-16 18:40:35 +00:00
Howard Hinnant
15c34d48ba
Redesign of result_of to handle reference-qualified member functions
...
llvm-svn: 131407
2011-05-16 16:17:21 +00:00
Howard Hinnant
af6c26b366
Warning suppression in test.
...
llvm-svn: 131344
2011-05-14 15:38:08 +00:00
Howard Hinnant
3962348edf
Warning suppression in test.
...
llvm-svn: 131343
2011-05-14 15:36:25 +00:00
Howard Hinnant
6c4c6a8047
Warning suppression in test.
...
llvm-svn: 131341
2011-05-14 14:53:12 +00:00
Howard Hinnant
c6b9ff1169
Correction to hexfloat hack.
...
llvm-svn: 131340
2011-05-14 14:33:56 +00:00
Howard Hinnant
e0d67710e9
Fix test bug.
...
llvm-svn: 131328
2011-05-14 00:07:53 +00:00
Howard Hinnant
fe7cffaf57
Suppress some warings in the tests.
...
llvm-svn: 131327
2011-05-14 00:04:05 +00:00
Howard Hinnant
a7fa0710cb
Suppress some warings in the tests.
...
llvm-svn: 131326
2011-05-13 23:59:50 +00:00
Howard Hinnant
fb7f07e3bd
http://llvm.org/bugs/show_bug.cgi?id=9854 . Also created an emulated hexfloat literal for use in some of the tests. <sigh> And cleaned up some harmless but irritating warnings in the tests.
...
llvm-svn: 131318
2011-05-13 21:52:40 +00:00
Howard Hinnant
467fc38320
A much improved type_traits for C++0x. Not yet done: is_trivially_constructible, is_trivially_assignable and underlying_type.
...
llvm-svn: 131291
2011-05-13 14:08:16 +00:00
Howard Hinnant
f738497500
Corrected some bugs in both memory and the tests. Preparing for being able to turn on support for alias templates.
...
llvm-svn: 131199
2011-05-11 20:21:19 +00:00
Howard Hinnant
a23551cad4
Fix bug in Sseq constraints found by Seth Cantrell
...
llvm-svn: 129285
2011-04-11 18:22:12 +00:00
Howard Hinnant
e4b11156d7
Corrected tests for http://llvm.org/bugs/show_bug.cgi?id=9351
...
llvm-svn: 128807
2011-04-04 01:42:30 +00:00
Howard Hinnant
e4bafbee25
... And these wonderful tests.
...
llvm-svn: 128797
2011-04-03 20:06:31 +00:00
Nick Kledzik
4f8ccdf2f8
<rdar://problem/9073695> std::uncaught_exception() becomes true before evaluating the throw-expression rather than after
...
llvm-svn: 127499
2011-03-11 22:33:07 +00:00
Howard Hinnant
709b108ae1
Corrected const-correctness on nullptr type_traits, and beefed up the test for nullptr_t.
...
llvm-svn: 127338
2011-03-09 17:17:06 +00:00
Howard Hinnant
a8d8ca4d6f
http://llvm.org/bugs/show_bug.cgi?id=9326
...
llvm-svn: 126504
2011-02-25 19:52:41 +00:00
Howard Hinnant
bd356a8011
Update testit to default to clang
...
llvm-svn: 125498
2011-02-14 18:06:10 +00:00
Howard Hinnant
2774545736
Bug 9096 - list::iterator not default constructible
...
llvm-svn: 124508
2011-01-28 23:46:28 +00:00
Howard Hinnant
d44be13fa8
minor corrections to test, and hook is_base_of up to clang intrinsic
...
llvm-svn: 124502
2011-01-28 20:00:37 +00:00
Howard Hinnant
389eb9b54a
placeholder test
...
llvm-svn: 124193
2011-01-25 16:32:04 +00:00
Douglas Gregor
a7b2241407
Eliminate the C++0x-only is_convertible testing function that accepts
...
a cv-qualifier rvalue reference to the type, e.g.,
template <class _Tp> char __test(const volatile typename remove_reference<_Tp>::type&&);
The use of this function signature rather than the more
straightforward one used in C++98/03 mode, e.g.,
template <class _Tp> char __test(_Tp);
is broken in two ways:
1) An rvalue reference cannot bind to lvalues, so is_convertible<X&,
X&>::value would be false. This breaks two of the unique_ptr tests
on Clang and GCC >= 4.5. Prior GCC's seem to have allowed rvalue
references to bind to lvalues, allowing this bug to slip in.
2) By adding cv-qualifiers to the type we're converting to, we get
some incorrect "true" results for, e.g., is_convertible<const X&, X&>::value.
llvm-svn: 124166
2011-01-25 01:15:41 +00:00
Chandler Carruth
ce395a9acd
Teach the Lit configuration to actually use the cxx0x setting when
...
constructing compile flags, and to link against the 'rt' library on
Linux for clock_gettime and friends.
llvm-svn: 124052
2011-01-23 01:05:20 +00:00
Howard Hinnant
7f64810bc8
LWG 1385 [FCD] tuple_cat should be a single variadic signature ( http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#1385 ). This issue is only in Ready status, meaning it is not official, but probably will be this March in Madrid. It was tentatively accepted in Batavia with the previso that Bill and I didn't have any problems implementing it. This is my part of that agreement.
...
llvm-svn: 121619
2010-12-11 20:47:50 +00:00
Michael J. Spencer
f5799be4a8
Add CMake build and fix major Linux blockers.
...
llvm-svn: 121510
2010-12-10 19:47:54 +00:00
Howard Hinnant
7f8e26867f
Test adjustment for recent changes in allocator_traits
...
llvm-svn: 121503
2010-12-10 19:22:37 +00:00
Howard Hinnant
088bd9aa14
This got accidentally removed
...
llvm-svn: 121502
2010-12-10 19:22:00 +00:00
Howard Hinnant
966b5a3157
N3158 Missing preconditions for default-constructed match_result objects
...
llvm-svn: 121282
2010-12-08 21:07:55 +00:00
Howard Hinnant
3135def61d
cleaning up...
...
llvm-svn: 121275
2010-12-08 20:09:09 +00:00
Howard Hinnant
b5452b3db5
After a long break to wait for the atomic spec to settle, this completes the library part of <atomic>. It currently won't even parse as it depends on the existence of the intrinsics specified at http://libcxx.llvm.org/atomic_design_a.html . Everything has been tested using fake intrinsics which have now been removed. As the intrinsics come online, the ATOMIC_* macros will need to be adjusted to reflect which operations are lock-free. These macros will probably need to be #ifdef'd for each supported platform.
...
llvm-svn: 121267
2010-12-08 17:20:28 +00:00
Michael J. Spencer
5f53fceff0
test: Rename string_op+= to string_op_plus_equal. Windows git doesn't like it.
...
llvm-svn: 121265
2010-12-08 17:06:47 +00:00
Howard Hinnant
0e1cd17d0a
atomics ...
...
llvm-svn: 121202
2010-12-07 23:20:28 +00:00
Howard Hinnant
c772a62096
Work on <atomic> continues. The file size is actually sane now...
...
llvm-svn: 121181
2010-12-07 20:46:14 +00:00
Howard Hinnant
9847abacb1
Getting <atomic> warmed back up. We have a hopefully more stable spec now. And I believe the intrinsic spec at http://libcxx.llvm.org/atomic_design_a.html is still good.
...
llvm-svn: 121064
2010-12-06 23:10:08 +00:00
Howard Hinnant
1596c4531b
N3189 Observers for the three handler functions
...
llvm-svn: 120712
2010-12-02 16:45:21 +00:00
Howard Hinnant
92e3718b13
Implemented N3194
...
llvm-svn: 120458
2010-11-30 20:23:32 +00:00
Howard Hinnant
e78881314a
Update testsuite strucuture to latest draft
...
llvm-svn: 120064
2010-11-23 22:13:07 +00:00
Howard Hinnant
b32f147bbf
Update testsuite strucuture to latest draft
...
llvm-svn: 120058
2010-11-23 20:55:56 +00:00
Howard Hinnant
fedfe3b69c
Update testsuite strucuture to latest draft
...
llvm-svn: 120057
2010-11-23 20:55:36 +00:00
Howard Hinnant
ab7be6e43c
Update testsuite strucuture to latest draft
...
llvm-svn: 120054
2010-11-23 20:47:09 +00:00
Howard Hinnant
4030e72457
Update testsuite strucuture to latest draft
...
llvm-svn: 120045
2010-11-23 20:26:48 +00:00
Howard Hinnant
46cc61ea7c
Update testsuite strucuture to latest draft
...
llvm-svn: 120043
2010-11-23 20:25:10 +00:00
Howard Hinnant
e8ce332127
Update testsuite strucuture to latest draft
...
llvm-svn: 120040
2010-11-23 20:21:36 +00:00
Howard Hinnant
274541968b
Update testsuite strucuture to latest draft
...
llvm-svn: 120036
2010-11-23 19:52:19 +00:00
Howard Hinnant
e5cb278766
Update testsuite strucuture to latest draft
...
llvm-svn: 120029
2010-11-23 19:15:49 +00:00
Howard Hinnant
e3120ed1bf
N3188 - Revision to N3113: Async Launch Policies (CH 36)
...
llvm-svn: 120027
2010-11-23 18:33:54 +00:00
Howard Hinnant
3dc6455ff0
N3191: C++ Timeout Specification
...
llvm-svn: 119909
2010-11-20 19:16:30 +00:00
Howard Hinnant
092980dd65
N3123
...
llvm-svn: 119906
2010-11-20 18:25:22 +00:00
Howard Hinnant
ca74048398
N3142. Many of these traits are just placeholders with medium quality emulation; waiting on compiler intrinsics to do it right.
...
llvm-svn: 119854
2010-11-19 22:17:28 +00:00
Howard Hinnant
d518d1c807
LWG 1522
...
llvm-svn: 119710
2010-11-18 17:34:48 +00:00
Howard Hinnant
48d05bd26c
LWG 1339
...
llvm-svn: 119699
2010-11-18 16:13:03 +00:00
Howard Hinnant
a4a1ef1fc2
LWG 1404
...
llvm-svn: 119609
2010-11-18 01:40:00 +00:00
Howard Hinnant
d09f711dc2
LWG 1325
...
llvm-svn: 119571
2010-11-17 21:53:14 +00:00
Howard Hinnant
5ba1459c4c
LWG 1323
...
llvm-svn: 119560
2010-11-17 21:11:40 +00:00
Howard Hinnant
601afb30ec
LWG 1191
...
llvm-svn: 119545
2010-11-17 19:52:17 +00:00
Howard Hinnant
ef6168357a
LWG 1118
...
llvm-svn: 119541
2010-11-17 19:22:43 +00:00
Howard Hinnant
412dbebe1b
license change
...
llvm-svn: 119395
2010-11-16 22:09:02 +00:00
Howard Hinnant
c4931c4746
I have reverted all contributions made by Jesse Towner in revision 110724
...
llvm-svn: 119383
2010-11-16 21:10:23 +00:00
Howard Hinnant
a7c2f3eac3
[atomics.types.address]
...
llvm-svn: 117033
2010-10-21 17:44:19 +00:00
Howard Hinnant
f9c02e15c4
atomic_schar, atomic_uchar, atomic_short, atomic_ushort, atomic_int, atomic_uint, atomic_long, atomic_ulong, atomic_llong, atomic_ullong, atomic_char16_t, atomic_char32_t and atomic_wchar_t.
...
llvm-svn: 116860
2010-10-19 21:22:10 +00:00
Howard Hinnant
d89b01e521
atomic_char
...
llvm-svn: 116813
2010-10-19 16:51:18 +00:00
Howard Hinnant
c1ef47986b
Fix two test bugs
...
llvm-svn: 116515
2010-10-14 21:08:32 +00:00
Howard Hinnant
149f659af3
Relaxing timing test a bit to avoid spurious test failures under load
...
llvm-svn: 115920
2010-10-07 16:25:31 +00:00
Howard Hinnant
2b672e24a5
Still working on the basic design of <atomic>. I'm working towards a system by which the compiler only needs to define the strongest intrinsics it can. Weaker atomics in the library automatically try stronger and stronger variants, picking the weakest compiler intrinsic available. If no compiler intrinsics are available for a given operation, the library locks a mutex and does the job. Better documentation to follow...
...
llvm-svn: 115538
2010-10-04 18:52:54 +00:00
Howard Hinnant
748a5279b1
[atomics.flag] completed. Initialization is not working on clang and can't be made to work without defaulted default constructors.
...
llvm-svn: 115207
2010-09-30 21:05:29 +00:00
Howard Hinnant
88efc1c7a5
Contemplating this <atomic> reorganization...
...
llvm-svn: 115087
2010-09-29 21:20:03 +00:00
Howard Hinnant
7d489d7a73
Didn't mean to commit that one
...
llvm-svn: 115058
2010-09-29 18:33:45 +00:00
Howard Hinnant
7387390d6e
Wrestling with the slowly dawning realization that <atomic> isn't implementable on any compiler at my disposal...
...
llvm-svn: 115054
2010-09-29 18:13:54 +00:00
Howard Hinnant
eb9e9a3710
fixing whitespace
...
llvm-svn: 114967
2010-09-28 17:19:10 +00:00
Howard Hinnant
cfe0b0a1ab
[atomics.order]
...
llvm-svn: 114966
2010-09-28 17:13:38 +00:00
Howard Hinnant
cd39d413b4
Getting started on <atomic>
...
llvm-svn: 114887
2010-09-27 21:17:38 +00:00
Daniel Dunbar
5f09d9e00a
tests/lit: Split options into two groups, so we don't get driver warnings about
...
unused linker arguments for compile only tests.
llvm-svn: 113935
2010-09-15 04:31:58 +00:00
Daniel Dunbar
ecd98d5173
tests: Remove some stray cleanup code.
...
llvm-svn: 113934
2010-09-15 04:18:37 +00:00
Daniel Dunbar
bc9a848e04
tests: Fixup lit config, which got garbled somehow...
...
llvm-svn: 113931
2010-09-15 04:11:29 +00:00
Daniel Dunbar
42ea463089
tests: Sketch a lit config for running libc++ tests; currently expects libc++ to have been installed.
...
llvm-svn: 113925
2010-09-15 03:57:04 +00:00