Commit Graph

1038 Commits

Author SHA1 Message Date
Howard Hinnant
45f5717812 Cement ABI on clang for char16_t and char32_t. Also fixed some comments in <iterator>.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113842 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-14 20:26:27 +00:00
Howard Hinnant
d2a9251977 Experimenting with a new forward fomulation (kudos Daniel Kruegler), updated insert iterators to work better with pproxies, and doubled the speed of __next_prime.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113731 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-13 01:43:27 +00:00
Howard Hinnant
a0f1dc9f46 Fix another const bug in function. Thanks to Daniel Krugler for finding this and the previous bug.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113686 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-11 15:33:21 +00:00
Howard Hinnant
fdc5a0f321 Fix const bug in function
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113684 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-11 15:09:37 +00:00
Nick Kledzik
c7e4d82bc0 <rdar://problem/8279559> [libstdcxx] use new linker options to make symbols non-weak
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113616 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-10 20:42:36 +00:00
Howard Hinnant
36cdf027d2 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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113590 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-10 16:42:26 +00:00
Howard Hinnant
cb2deb2652 Yonggang Luo fixed gcc version checking for type_traits support.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113487 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-09 13:58:34 +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
f6547cbf61 Updated current status.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113110 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-05 17:31:48 +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
Daniel Dunbar
04acacadca Fix typos, noticed by Clang.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113061 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-04 03:15:51 +00:00
Howard Hinnant
171a9a7cc3 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\!
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113026 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-03 23:03:25 +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
ae153b9855 Updated for weekly test results.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@112737 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 20:33:41 +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
47499b162a future continues ...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@112284 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-27 20:10:19 +00:00
Howard Hinnant
98ccdeca3b Updated for weekly test results
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@112078 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-25 19:45:31 +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