Commit Graph

300 Commits

Author SHA1 Message Date
Howard Hinnant
d515df2a50 Fix test bug.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@131328 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-14 00:07:53 +00:00
Howard Hinnant
f1151efcb1 Suppress some warings in the tests.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@131327 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-14 00:04:05 +00:00
Howard Hinnant
2d01bf0665 Suppress some warings in the tests.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@131326 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13 23:59:50 +00:00
Howard Hinnant
0a111118a6 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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@131318 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13 21:52:40 +00:00
Howard Hinnant
6063ec176d A much improved type_traits for C++0x. Not yet done: is_trivially_constructible, is_trivially_assignable and underlying_type.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@131291 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13 14:08:16 +00:00
Howard Hinnant
6b41c6047b Corrected some bugs in both memory and the tests. Preparing for being able to turn on support for alias templates.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@131199 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-11 20:21:19 +00:00
Howard Hinnant
ef3b2e2e34 Fix bug in Sseq constraints found by Seth Cantrell
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@129285 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-11 18:22:12 +00:00
Howard Hinnant
3e93e96dff Corrected tests for http://llvm.org/bugs/show_bug.cgi?id=9351
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@128807 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-04 01:42:30 +00:00
Howard Hinnant
b8a03c763a ... And these wonderful tests.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@128797 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-03 20:06:31 +00:00
Nick Kledzik
770a3c5116 <rdar://problem/9073695> std::uncaught_exception() becomes true before evaluating the throw-expression rather than after
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@127499 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-11 22:33:07 +00:00
Howard Hinnant
6e5e7e78ee Corrected const-correctness on nullptr type_traits, and beefed up the test for nullptr_t.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@127338 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-09 17:17:06 +00:00
Howard Hinnant
e7c8da6f2d http://llvm.org/bugs/show_bug.cgi?id=9326
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@126504 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-25 19:52:41 +00:00
Howard Hinnant
c4cbb5b6b7 Update testit to default to clang
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@125498 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-14 18:06:10 +00:00
Howard Hinnant
211f0ee1be Bug 9096 - list::iterator not default constructible
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@124508 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-28 23:46:28 +00:00
Howard Hinnant
80f9180729 minor corrections to test, and hook is_base_of up to clang intrinsic
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@124502 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-28 20:00:37 +00:00
Howard Hinnant
4ff9d3599c placeholder test
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@124193 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25 16:32:04 +00:00
Douglas Gregor
f9e1c7e367 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.





git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@124166 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25 01:15:41 +00:00
Chandler Carruth
e76496ce46 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.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@124052 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-23 01:05:20 +00:00
Howard Hinnant
0e1493ec5e 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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@121619 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-11 20:47:50 +00:00
Michael J. Spencer
626916fc25 Add CMake build and fix major Linux blockers.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@121510 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-10 19:47:54 +00:00
Howard Hinnant
b8f787b188 Test adjustment for recent changes in allocator_traits
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@121503 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-10 19:22:37 +00:00
Howard Hinnant
f190e97885 This got accidentally removed
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@121502 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-10 19:22:00 +00:00
Howard Hinnant
31aaf55f4c N3158 Missing preconditions for default-constructed match_result objects
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@121282 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-08 21:07:55 +00:00
Howard Hinnant
1b18a48e28 cleaning up...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@121275 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-08 20:09:09 +00:00
Howard Hinnant
770d1c4ea7 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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@121267 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-08 17:20:28 +00:00
Michael J. Spencer
c9f5d9fca6 test: Rename string_op+= to string_op_plus_equal. Windows git doesn't like it.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@121265 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-08 17:06:47 +00:00
Howard Hinnant
f02417b600 atomics ...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@121202 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-07 23:20:28 +00:00
Howard Hinnant
91e2f26fec Work on <atomic> continues. The file size is actually sane now...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@121181 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-07 20:46:14 +00:00
Howard Hinnant
4777bf2799 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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@121064 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-06 23:10:08 +00:00
Howard Hinnant
a445151f4a N3189 Observers for the three handler functions
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@120712 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-02 16:45:21 +00:00
Howard Hinnant
7de47902d0 Implemented N3194
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@120458 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-30 20:23:32 +00:00
Howard Hinnant
c706565c88 Update testsuite strucuture to latest draft
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@120064 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23 22:13:07 +00:00
Howard Hinnant
6051e24e45 Update testsuite strucuture to latest draft
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@120058 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23 20:55:56 +00:00
Howard Hinnant
adaa6266fe Update testsuite strucuture to latest draft
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@120057 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23 20:55:36 +00:00
Howard Hinnant
8771430346 Update testsuite strucuture to latest draft
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@120054 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23 20:47:09 +00:00
Howard Hinnant
afff5aacd6 Update testsuite strucuture to latest draft
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@120045 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23 20:26:48 +00:00
Howard Hinnant
17c3a81048 Update testsuite strucuture to latest draft
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@120043 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23 20:25:10 +00:00
Howard Hinnant
6587dfe980 Update testsuite strucuture to latest draft
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@120040 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23 20:21:36 +00:00
Howard Hinnant
73d2f94f6b Update testsuite strucuture to latest draft
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@120036 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23 19:52:19 +00:00
Howard Hinnant
091f2ab44f Update testsuite strucuture to latest draft
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@120029 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23 19:15:49 +00:00
Howard Hinnant
6689564040 N3188 - Revision to N3113: Async Launch Policies (CH 36)
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@120027 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23 18:33:54 +00:00
Howard Hinnant
f8f852138f N3191: C++ Timeout Specification
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119909 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-20 19:16:30 +00:00
Howard Hinnant
f048fe3a09 N3123
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119906 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-20 18:25:22 +00:00
Howard Hinnant
1468b668aa N3142. Many of these traits are just placeholders with medium quality emulation; waiting on compiler intrinsics to do it right.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119854 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-19 22:17:28 +00:00
Howard Hinnant
995676a98e LWG 1522
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119710 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18 17:34:48 +00:00
Howard Hinnant
2f6a627394 LWG 1339
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119699 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18 16:13:03 +00:00
Howard Hinnant
47761071be LWG 1404
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119609 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18 01:40:00 +00:00
Howard Hinnant
34d6b19721 LWG 1325
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119571 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17 21:53:14 +00:00
Howard Hinnant
7b2cb48cc1 LWG 1323
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119560 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17 21:11:40 +00:00
Howard Hinnant
cd2254b454 LWG 1191
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119545 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17 19:52:17 +00:00
Howard Hinnant
86ed8aefb2 LWG 1118
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119541 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17 19:22:43 +00:00
Howard Hinnant
b64f8b07c1 license change
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119395 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16 22:09:02 +00:00
Howard Hinnant
726a76fb47 I have reverted all contributions made by Jesse Towner in revision 110724
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119383 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16 21:10:23 +00:00
Howard Hinnant
bce9c3132d [atomics.types.address]
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@117033 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-21 17:44:19 +00:00
Howard Hinnant
5bbe97ddaa 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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@116860 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19 21:22:10 +00:00
Howard Hinnant
e738501eb3 atomic_char
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@116813 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19 16:51:18 +00:00
Howard Hinnant
0d5dff1897 Fix two test bugs
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@116515 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-14 21:08:32 +00:00
Howard Hinnant
251aaa1064 Relaxing timing test a bit to avoid spurious test failures under load
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115920 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-07 16:25:31 +00:00
Howard Hinnant
611fdaf229 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...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115538 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-04 18:52:54 +00:00
Howard Hinnant
79101aec3a [atomics.flag] completed. Initialization is not working on clang and can't be made to work without defaulted default constructors.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115207 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-30 21:05:29 +00:00
Howard Hinnant
767ae2b483 Contemplating this <atomic> reorganization...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115087 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 21:20:03 +00:00
Howard Hinnant
c260b06366 Didn't mean to commit that one
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115058 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 18:33:45 +00:00
Howard Hinnant
ed760f40b7 Wrestling with the slowly dawning realization that <atomic> isn't implementable on any compiler at my disposal...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115054 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 18:13:54 +00:00
Howard Hinnant
0ce02245a9 fixing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114967 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-28 17:19:10 +00:00
Howard Hinnant
d1176e29b0 [atomics.order]
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114966 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-28 17:13:38 +00:00
Howard Hinnant
8f73c63658 Getting started on <atomic>
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114887 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-27 21:17:38 +00:00
Daniel Dunbar
611581b853 tests/lit: Split options into two groups, so we don't get driver warnings about
unused linker arguments for compile only tests.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113935 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-15 04:31:58 +00:00
Daniel Dunbar
26a43c25d7 tests: Remove some stray cleanup code.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113934 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-15 04:18:37 +00:00
Daniel Dunbar
7e0c57b203 tests: Fixup lit config, which got garbled somehow...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113931 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-15 04:11:29 +00:00
Daniel Dunbar
f5eadcd8d5 tests: Sketch a lit config for running libc++ tests; currently expects libc++ to have been installed.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113925 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-15 03:57:04 +00:00
Howard Hinnant
e764f0b648 Updated by-chapter-summary with weekly test results, and fixed up some bad paths in some tests caused by aligning the test suite with N3126.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113403 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-08 20:31:42 +00:00
Howard Hinnant
745d473ac1 Hooked the following up to clang: is_class, is_enum, has_nothrow_copy_assign, has_trivial_destructor, has_virtual_destructor, is_pod. Implemented has_copy_assign.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113373 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-08 17:55:32 +00:00
Howard Hinnant
27031115bf has_nothrow_copy_assign hooked up to clang
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113364 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-08 16:39:18 +00:00
Howard Hinnant
99ad765261 has_trivial_copy_assign hooked up to clang (without workarounds). Filed http://llvm.org/bugs/show_bug.cgi?id=8109 to take care of several types which don't work yet. If there is some reason we don't want to handle these types in the compiler, I can handle most of them in the library.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113312 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-07 23:38:59 +00:00
Howard Hinnant
954b366317 Made a stab at has_copy_constructor. Got it mostly working for g++-4.0, but only works for scalar types on clang. Ultimately this needs a compiler-supported is_constructible which clang is missing, and won't be able to use until it gets variadic templates.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113304 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-07 23:11:28 +00:00
Howard Hinnant
aad0db393f has_nothrow_copy_constructor hooked up to clang. Filed http://llvm.org/bugs/show_bug.cgi?id=8107 to take care of several types which don't work yet. If there is some reason we don't want to handle these types in the compiler, I can handle most of them in the library.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113294 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-07 22:09:07 +00:00
Howard Hinnant
87eea6d801 has_trivial_copy_constructor hooked up to clang. Filed http://llvm.org/bugs/show_bug.cgi?id=8105 to take care of void, arrays of incomplete bounds and complete bounds which don't work yet. If there is some reason we don't want to handle these types in the compiler, I can handle them in the library.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113270 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-07 20:31:18 +00:00
Howard Hinnant
bb73d762b2 Made a stab at has_default_constructor. Got it mostly working for g++-4.0, but only works for scalar types on clang. Ultimately this needs a compiler-supported is_constructible which clang is missing, and won't be able to use until it gets variadic templates.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113225 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-07 17:47:31 +00:00
Howard Hinnant
6fd2e09b36 has_nothrow_default_constructor hooked up to clang. Filed http://llvm.org/bugs/show_bug.cgi?id=8101 to take care of void, arrays of incomplete types, and classes with virtual destructors which don't work yet. If there is some reasons we don't want to handle these types in the compiler, I can handle them in the library.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113217 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-07 17:15:17 +00:00
Howard Hinnant
2fd6d25bf1 has_trivial_default_constructor hooked up to clang. Filed http://llvm.org/bugs/show_bug.cgi?id=8097 to take care of void and arrays of incomplete types which don't work yet. If there is some reasons we don't want to handle these types in the compiler, I can handle them in the library.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113205 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-07 15:53:26 +00:00
Howard Hinnant
1387038988 Working the type_traits area: Hooked up to clang's __is_union. Got has_trivial_copy_assign working.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113162 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 19:10:31 +00:00
Howard Hinnant
3991b553df sync with N3126
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113101 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-05 01:14:30 +00:00
Howard Hinnant
a2ccccce89 sync with N3126
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113100 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-05 01:10:45 +00:00
Howard Hinnant
9c2683d77c sync with N3126
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113099 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-05 01:06:34 +00:00
Howard Hinnant
e3e488eb61 sync with N3126
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113098 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-05 00:57:20 +00:00
Howard Hinnant
b02310e487 sync with N3126
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113097 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-05 00:49:04 +00:00
Howard Hinnant
bfd5530c06 Fix whitespace
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113089 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-04 23:46:48 +00:00
Howard Hinnant
73d21a4f07 Changed __config to react to all of clang's currently documented has_feature flags, and renamed _LIBCPP_MOVE to _LIBCPP_HAS_NO_RVALUE_REFERENCES to be more consistent with the rest of the libc++'s flags, and with clang's nomenclature.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113086 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-04 23:28:19 +00:00
Howard Hinnant
e6e4d01553 [futures.atomic_future] and notify_all_at_thread_exit. This completes the header <future> and all of Chapter 30 (for C++0x enabled compilers).
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113017 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-03 21:46:37 +00:00
Howard Hinnant
99be8237db [futures.shared_future]
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@112990 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-03 18:39:25 +00:00
Howard Hinnant
54da338f59 [futures.task] and [futures.async]. Requires variadics and rvalue-ref support.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@112500 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30 18:46:21 +00:00
Howard Hinnant
7158e5c38b [futures.unique_future]
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@112423 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-29 14:20:30 +00:00
Howard Hinnant
f39daa8e5a [futures.promise]. Depends on rvalue-ref support to work 100%.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@112388 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-28 21:01:06 +00:00
Howard Hinnant
a652172d86 Getting started on <future>
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@112061 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-25 17:32:05 +00:00
Howard Hinnant
ef0036c5aa Corrected some int -> char narrowing conversions
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111849 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-23 21:41:03 +00:00
Howard Hinnant
8e705bb5ad Accidentally changed a data file during the whitespace cleanup
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111845 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-23 21:23:21 +00:00
Howard Hinnant
d510977c4d Remove tabs
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111778 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-22 13:53:14 +00:00
Howard Hinnant
d2bb032075 Fixing whitespace problems
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111769 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-22 01:04:38 +00:00
Howard Hinnant
c52f43e72d Fixing whitespace problems
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111767 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-22 00:59:46 +00:00
Howard Hinnant
f11ea14460 Fixing whitespace problems
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111765 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-22 00:50:25 +00:00
Howard Hinnant
6e0a1f458e Fixing whitespace problems
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111764 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-22 00:47:54 +00:00
Howard Hinnant
bbd8086ee3 Fixing whitespace problems
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111763 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-22 00:45:01 +00:00
Howard Hinnant
0e20cae1a5 Fixing whitespace problems
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111762 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-22 00:42:21 +00:00
Howard Hinnant
22a74dcf50 Fixing whitespace problems
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111761 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-22 00:39:25 +00:00
Howard Hinnant
cf6dcc35e1 Fixing whitespace problems
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111760 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-22 00:31:12 +00:00
Howard Hinnant
712522cfd8 Fixing whitespace problems
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111759 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-22 00:29:01 +00:00
Howard Hinnant
256813f4e7 Fixing whitespace problems
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111758 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-22 00:26:48 +00:00
Howard Hinnant
74231bfbc0 Fixing whitespace problems
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111757 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-22 00:22:24 +00:00
Howard Hinnant
aa20444a4f Fixing whitespace problems
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111756 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-22 00:20:12 +00:00
Howard Hinnant
6046aced82 Fixing whitespace problems
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111755 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-22 00:15:28 +00:00
Howard Hinnant
eb564e76cc Fixing whitespace problems
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111753 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-22 00:08:10 +00:00
Howard Hinnant
92172b891f US 108, N3109
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111747 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-21 21:14:53 +00:00
Howard Hinnant
a785e4e469 DE 23
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111746 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-21 21:01:59 +00:00
Howard Hinnant
7a2523b201 US 117
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111745 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-21 20:58:44 +00:00
Howard Hinnant
98e5d97400 US 122, N3106
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111742 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-21 20:10:01 +00:00
Howard Hinnant
725528086c Installed allocator into std::function
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111672 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-20 19:36:46 +00:00
Howard Hinnant
e3263b4dbe GB 85, GB 87
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111546 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 19:15:54 +00:00
Howard Hinnant
2794e6cca5 DE 19
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111544 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 19:09:08 +00:00
Howard Hinnant
3c1ffbabc1 US 98, US 99
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111542 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 18:59:38 +00:00
Howard Hinnant
e92c3d74ce US 107
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111538 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 18:39:17 +00:00
Howard Hinnant
ba590bdc97 LWG 1278
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111532 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 17:40:04 +00:00
Howard Hinnant
4a23e1e060 Updated by-chapter chart with weekly test results. Also did some prototyping on result_of, but if-def'd out the prototyped part (which the LWG may or may not accept)
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111389 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18 18:52:04 +00:00
Howard Hinnant
a8d7759708 [re.alg.replace]. This finishes all of <regex>. That being said, <regex> is exceptionally difficult to thoroughly test. If anyone has the ability to test this, combined with the interest to do so, now would be a good time. :-)
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111333 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18 00:13:08 +00:00
Howard Hinnant
262b779f1d [re.tokiter]
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111278 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-17 20:42:03 +00:00
Howard Hinnant
a712c72499 [re.regiter]
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111178 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-16 20:21:16 +00:00
Howard Hinnant
aa78f9cdb3 [re.alg.match]
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111075 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-14 19:58:44 +00:00
Howard Hinnant
27405f91a8 Everything under [re.results]
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111074 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-14 18:14:02 +00:00
Howard Hinnant
7026a17a48 Everything under [re.regex]
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111024 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13 18:11:23 +00:00
Howard Hinnant
878465043f Filling out regex tests...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@110955 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-12 21:14:20 +00:00
Howard Hinnant
0a68a4d739 Fix conflict with cstring and using namespace std
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@110736 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 21:57:23 +00:00
Howard Hinnant
60a0a8ef24 patch by Jesse Towner, and bug fix by Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@110724 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 20:48:29 +00:00
Howard Hinnant
15476f345d Fixed some bugs in the ecma bracket epression regarding escaped characters, and got the awk grammar going.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@109599 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-28 17:35:27 +00:00
Howard Hinnant
e9de5ff443 lookahead for ecma
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@109548 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-27 22:20:32 +00:00
Howard Hinnant
856846b66f grep and egrep grammars
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@109534 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-27 19:53:10 +00:00
Howard Hinnant
ad2a7ab9a9 continued regex development...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@109512 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-27 17:24:17 +00:00
Howard Hinnant
17615b040d A good start on ecma regex's. Maybe even feature complete, not sure yet. Also an unrelated fix to is_constructible thanks to Daniel Krugler.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@109479 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-27 01:25:38 +00:00
Howard Hinnant
2ade7c27f8 I believe posix extended expr is feature complete. Getting started on ecma exprs.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@109126 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 17:53:24 +00:00
Howard Hinnant
1371b2e56e A few more tests for posix extended alternation
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@109107 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 14:12:20 +00:00
Howard Hinnant
aa69808da9 A good start on extended posix regex. Loops working. Alternation working. Also update by-chapter completeness summary.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@108548 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-16 19:08:36 +00:00
Howard Hinnant
639a668b4c Tests for basic posix regex templated on wchar_t
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@108435 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-15 18:18:07 +00:00
Howard Hinnant
22ce0b4a1c Fixed to work with generalized iterators.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@108359 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-14 21:14:52 +00:00
Howard Hinnant
68025ed084 Minor optimizations. Minor bug fixes. More tests.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@108331 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-14 15:45:11 +00:00
Howard Hinnant
173968a5f2 Bracket expressions are working (lightly tested).
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@108280 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-13 21:48:06 +00:00
Howard Hinnant
e34f17d383 regex_constants icase and collate for matching a single char and for matching back references
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@108178 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-12 19:11:27 +00:00
Howard Hinnant
cba352d348 back references for BRE
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@108168 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-12 18:16:05 +00:00
Howard Hinnant
ac30386dfe Redesign number 3. The previous design was not handling matching of empty strings inside of loops.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@108151 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-12 15:51:17 +00:00
Howard Hinnant
37f9f9c587 weekly update to by-chapter-summary, plus left and right anchor support in basic posix.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@107938 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-09 00:15:26 +00:00
Howard Hinnant
e77aa5e7f4 Marked subexpressions in a loop in basic posix working (only lightly tested so far)
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@107889 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08 17:43:58 +00:00
Howard Hinnant
f8ce459f8d First loop test passed. The data structure and search algorithm is still crude and in-flux. But this milestone needed to be locked in. Right now every loop is implemented in terms of a structure that will handle the most complicated {min, max} loop. Though only *-loops are tested at the moment. In a future iteration *-loops will likely be optimized a little more. The only tests are for basic posix so far, but I have prototype code running for extended posix and ecma. The prototype code lacks the complicating properties of the real <regex> requirements though.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@107803 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07 19:14:52 +00:00
Howard Hinnant
0dca5fc7ad First test for marked subexpressions
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@107317 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30 20:30:19 +00:00