3382 Commits

Author SHA1 Message Date
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
1c1620b269 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.
llvm-svn: 113403
2010-09-08 20:31:42 +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
1be27f0929 has_nothrow_copy_assign hooked up to clang
llvm-svn: 113364
2010-09-08 16:39:18 +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
eea166dfd4 Updated current status.
llvm-svn: 113110
2010-09-05 17:31:48 +00:00
Howard Hinnant
cbf93f3959 sync with N3126
llvm-svn: 113101
2010-09-05 01:14:30 +00:00
Howard Hinnant
f9e81f9acb sync with N3126
llvm-svn: 113100
2010-09-05 01:10:45 +00:00
Howard Hinnant
771f325a1f sync with N3126
llvm-svn: 113099
2010-09-05 01:06:34 +00:00
Howard Hinnant
5bed8c6f65 sync with N3126
llvm-svn: 113098
2010-09-05 00:57:20 +00:00
Howard Hinnant
e7d99b29be sync with N3126
llvm-svn: 113097
2010-09-05 00:49:04 +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
Daniel Dunbar
0a779b97fe Fix typos, noticed by Clang.
llvm-svn: 113061
2010-09-04 03:15:51 +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
1f7ae51ef2 Updated for weekly test results.
llvm-svn: 112737
2010-09-01 20:33:41 +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
c009b09c2b [futures.unique_future]
llvm-svn: 112423
2010-08-29 14:20:30 +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
370bbab490 Updated for weekly test results
llvm-svn: 112078
2010-08-25 19:45:31 +00:00
Howard Hinnant
dae3481b28 Getting started on <future>
llvm-svn: 112061
2010-08-25 17:32:05 +00:00
Howard Hinnant
01f586ca2c Corrected some int -> char narrowing conversions
llvm-svn: 111849
2010-08-23 21:41:03 +00:00
Howard Hinnant
8c93ff2ce3 Accidentally changed a data file during the whitespace cleanup
llvm-svn: 111845
2010-08-23 21:23:21 +00:00
Howard Hinnant
fae824a32d Remove tabs
llvm-svn: 111778
2010-08-22 13:53:14 +00:00
Howard Hinnant
2807d4a58b Fixing whitespace problems
llvm-svn: 111769
2010-08-22 01:04:38 +00:00
Howard Hinnant
94b2dd0998 Fixing whitespace problems
llvm-svn: 111767
2010-08-22 00:59:46 +00:00
Howard Hinnant
2cb7936efe Fixing whitespace problems
llvm-svn: 111765
2010-08-22 00:50:25 +00:00
Howard Hinnant
bf2897cf45 Fixing whitespace problems
llvm-svn: 111764
2010-08-22 00:47:54 +00:00
Howard Hinnant
f36101dd3d Fixing whitespace problems
llvm-svn: 111763
2010-08-22 00:45:01 +00:00
Howard Hinnant
a0eaf608cd Fixing whitespace problems
llvm-svn: 111762
2010-08-22 00:42:21 +00:00
Howard Hinnant
3bad6b61e5 Fixing whitespace problems
llvm-svn: 111761
2010-08-22 00:39:25 +00:00
Howard Hinnant
b5a4c50a03 Fixing whitespace problems
llvm-svn: 111760
2010-08-22 00:31:12 +00:00
Howard Hinnant
0022123b95 Fixing whitespace problems
llvm-svn: 111759
2010-08-22 00:29:01 +00:00
Howard Hinnant
66dbf0d311 Fixing whitespace problems
llvm-svn: 111758
2010-08-22 00:26:48 +00:00
Howard Hinnant
62bfbb0974 Fixing whitespace problems
llvm-svn: 111757
2010-08-22 00:22:24 +00:00
Howard Hinnant
5cf4e1f1f0 Fixing whitespace problems
llvm-svn: 111756
2010-08-22 00:20:12 +00:00
Howard Hinnant
8f2f7e7c79 Fixing whitespace problems
llvm-svn: 111755
2010-08-22 00:15:28 +00:00
Howard Hinnant
664ae8118e Fixing whitespace problems
llvm-svn: 111753
2010-08-22 00:08:10 +00:00
Howard Hinnant
940e211c87 Fixing whitespace problems
llvm-svn: 111751
2010-08-22 00:03:27 +00:00