1626 Commits

Author SHA1 Message Date
Howard Hinnant
f5ab703f68 visibility-decoration.
llvm-svn: 114470
2010-09-21 20:16:37 +00:00
Howard Hinnant
35ae4a20cd visibility-decoration.
llvm-svn: 114465
2010-09-21 18:58:51 +00:00
Howard Hinnant
43d9923860 visibility-decoration.
llvm-svn: 114451
2010-09-21 17:32:39 +00:00
Howard Hinnant
4c88c9803f Getting started on a visibility-decoration sweep.
llvm-svn: 114440
2010-09-21 16:04:28 +00:00
Howard Hinnant
d8e7922ba2 Tweak clang support for char16_t/char32_t
llvm-svn: 114129
2010-09-16 23:27:26 +00:00
Howard Hinnant
03976c1b62 Cement ABI on clang for char16_t and char32_t. Also fixed some comments in <iterator>.
llvm-svn: 113842
2010-09-14 20:26:27 +00:00
Howard Hinnant
8fb62e398a Experimenting with a new forward fomulation (kudos Daniel Kruegler), updated insert iterators to work better with pproxies, and doubled the speed of __next_prime.
llvm-svn: 113731
2010-09-13 01:43:27 +00:00
Howard Hinnant
37030a77a0 Fix another const bug in function. Thanks to Daniel Krugler for finding this and the previous bug.
llvm-svn: 113686
2010-09-11 15:33:21 +00:00
Howard Hinnant
42daac442b Fix const bug in function
llvm-svn: 113684
2010-09-11 15:09:37 +00:00
Howard Hinnant
f9cca3b7d0 I am experimenting with putting visibility-default attributes on all struct/classes in libc++. This checkin decorates only basic_string and vector as an experiment, and for review by those in this audience that might know more about visibilty than I do. If I get no negative feedback on this procedure I will begin to decorate the entire library in this way.
llvm-svn: 113590
2010-09-10 16:42:26 +00:00
Howard Hinnant
7d1c2a0f3a Yonggang Luo fixed gcc version checking for type_traits support.
llvm-svn: 113487
2010-09-09 13:58:34 +00:00
Howard Hinnant
10b9b7b4bd 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.
llvm-svn: 113373
2010-09-08 17:55:32 +00:00
Howard Hinnant
331b3dd2ad 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.
llvm-svn: 113312
2010-09-07 23:38:59 +00:00
Howard Hinnant
bfc4026f4c 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.
llvm-svn: 113304
2010-09-07 23:11:28 +00:00
Howard Hinnant
06fc97019a 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.
llvm-svn: 113294
2010-09-07 22:09:07 +00:00
Howard Hinnant
01fd31000b 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.
llvm-svn: 113270
2010-09-07 20:31:18 +00:00
Howard Hinnant
ba6f71b030 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.
llvm-svn: 113225
2010-09-07 17:47:31 +00:00
Howard Hinnant
f336abfcd2 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.
llvm-svn: 113217
2010-09-07 17:15:17 +00:00
Howard Hinnant
c3ed8c312e 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.
llvm-svn: 113205
2010-09-07 15:53:26 +00:00
Howard Hinnant
db3e9975d0 Working the type_traits area: Hooked up to clang's __is_union. Got has_trivial_copy_assign working.
llvm-svn: 113162
2010-09-06 19:10:31 +00:00
Howard Hinnant
959cf8aede Fix whitespace
llvm-svn: 113089
2010-09-04 23:46:48 +00:00
Howard Hinnant
7609c9b665 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.
llvm-svn: 113086
2010-09-04 23:28:19 +00:00
Howard Hinnant
7f2aae9937 Configure libc++ to recognize and use inline namespaces for clang. Many, many thanks to Sebastian Redl for implementing it in clang, and to Daniel Dunbar for rattling my cage about it. This is huge for libc++. Thanks to you both\!
llvm-svn: 113026
2010-09-03 23:03:25 +00:00
Howard Hinnant
b77c0c03bb [futures.atomic_future] and notify_all_at_thread_exit. This completes the header <future> and all of Chapter 30 (for C++0x enabled compilers).
llvm-svn: 113017
2010-09-03 21:46:37 +00:00
Howard Hinnant
ead85506a7 [futures.shared_future]
llvm-svn: 112990
2010-09-03 18:39:25 +00:00
Howard Hinnant
27f000e10b [futures.task] and [futures.async]. Requires variadics and rvalue-ref support.
llvm-svn: 112500
2010-08-30 18:46:21 +00:00
Howard Hinnant
8759d9d4d0 [futures.promise]. Depends on rvalue-ref support to work 100%.
llvm-svn: 112388
2010-08-28 21:01:06 +00:00
Howard Hinnant
167fd1084b future continues ...
llvm-svn: 112284
2010-08-27 20:10:19 +00:00
Howard Hinnant
dae3481b28 Getting started on <future>
llvm-svn: 112061
2010-08-25 17:32:05 +00:00
Howard Hinnant
fae824a32d Remove tabs
llvm-svn: 111778
2010-08-22 13:53:14 +00:00
Howard Hinnant
b3371f6f49 Fixing whitespace problems
llvm-svn: 111750
2010-08-22 00:02:43 +00:00
Howard Hinnant
9f1102b7fe US 108, N3109
llvm-svn: 111747
2010-08-21 21:14:53 +00:00
Howard Hinnant
e8e7af2477 DE 23
llvm-svn: 111746
2010-08-21 21:01:59 +00:00
Howard Hinnant
3db88036f6 US 117
llvm-svn: 111745
2010-08-21 20:58:44 +00:00
Howard Hinnant
4eb27b79c1 US 122, N3106
llvm-svn: 111742
2010-08-21 20:10:01 +00:00
Howard Hinnant
9b0b6d45d2 Installed allocator into std::function
llvm-svn: 111672
2010-08-20 19:36:46 +00:00
Howard Hinnant
cbbc430d24 JP 3 & JP 4
llvm-svn: 111547
2010-08-19 19:20:10 +00:00
Howard Hinnant
907af2668f GB 85, GB 87
llvm-svn: 111546
2010-08-19 19:15:54 +00:00
Howard Hinnant
de6d046575 DE 19
llvm-svn: 111544
2010-08-19 19:09:08 +00:00
Howard Hinnant
1102fbbd67 US 98, US 99
llvm-svn: 111542
2010-08-19 18:59:38 +00:00
Howard Hinnant
20cc2a42b8 US 107
llvm-svn: 111538
2010-08-19 18:39:17 +00:00
Howard Hinnant
e57dc14c44 LWG 1278
llvm-svn: 111532
2010-08-19 17:40:04 +00:00
Howard Hinnant
5e2f7b89e9 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)
llvm-svn: 111389
2010-08-18 18:52:04 +00:00
Howard Hinnant
86550b0038 [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. :-)
llvm-svn: 111333
2010-08-18 00:13:08 +00:00
Howard Hinnant
14dcd3d1ff [re.tokiter]
llvm-svn: 111278
2010-08-17 20:42:03 +00:00
Howard Hinnant
2bf1fd99b1 [re.regiter]
llvm-svn: 111178
2010-08-16 20:21:16 +00:00
Howard Hinnant
48b242a275 Everything under [re.results]
llvm-svn: 111074
2010-08-14 18:14:02 +00:00
Howard Hinnant
5cd6658798 Everything under [re.regex]
llvm-svn: 111024
2010-08-13 18:11:23 +00:00
Howard Hinnant
3d87b69f7d Filling out regex tests...
llvm-svn: 110955
2010-08-12 21:14:20 +00:00
Howard Hinnant
54b409fdb9 now works with -fno-exceptions and -fno-rtti
llvm-svn: 110828
2010-08-11 17:04:31 +00:00