Howard Hinnant
|
ffb9a4e235
|
Corrected an inconsistency with recent changes in tuple, and perfect forwarding within bind
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115930 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-10-07 18:03:23 +00:00 |
|
Howard Hinnant
|
6cac2c2c9c
|
Make flag type configurable by the compiler
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115614 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-10-05 14:02:23 +00:00 |
|
Howard Hinnant
|
b4ac745466
|
Thanks Sebastian\!
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115612 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-10-05 13:38:23 +00:00 |
|
Howard Hinnant
|
002f1d341b
|
Filling out the infrastructure in <atomic>
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115577 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-10-04 23:55:35 +00:00 |
|
Howard Hinnant
|
26994e383c
|
__has_feature crutch
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115540 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-10-04 19:01:30 +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
|
7c0c696afd
|
Tweak to make clang blocks work with std::functional (very fragile)
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115461 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-10-03 13:59:56 +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
|
f701e25c49
|
Name change of intrinsics as suggested by Jeffrey Yasskin
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115145 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-30 14:04:35 +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
|
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
|
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 |
|
Howard Hinnant
|
d05c6e646b
|
Bugzilla 8231
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114851 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-27 18:09:23 +00:00 |
|
Howard Hinnant
|
e049cc5f75
|
Cleaning up some tuple code.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114848 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-27 17:54:17 +00:00 |
|
Howard Hinnant
|
ee6ccd0e32
|
visibility-decoration sweep completed.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114685 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-23 18:58:28 +00:00 |
|
Howard Hinnant
|
8d7a9557b7
|
visibility-decoration.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114671 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-23 17:31:07 +00:00 |
|
Howard Hinnant
|
28c97e6ee1
|
visibility-decoration.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114658 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-23 16:27:36 +00:00 |
|
Howard Hinnant
|
aef07cbffd
|
visibility-decoration.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114647 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-23 15:13:20 +00:00 |
|
Howard Hinnant
|
b9af2eae4a
|
visibility-decoration.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114559 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-22 18:02:38 +00:00 |
|
Howard Hinnant
|
828948148d
|
visibility-decoration.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114551 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-22 16:48:34 +00:00 |
|
Howard Hinnant
|
68a8e90b3d
|
visibility-decoration.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114545 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-22 15:29:08 +00:00 |
|
Howard Hinnant
|
8c6cbb24e8
|
visibility-decoration.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114543 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-22 14:16:26 +00:00 |
|
Howard Hinnant
|
42a63a781f
|
visibility-decoration.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114496 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-21 22:55:27 +00:00 |
|
Howard Hinnant
|
422a53fd7a
|
visibility-decoration.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114486 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-21 21:28:23 +00:00 |
|
Howard Hinnant
|
333f50d30c
|
visibility-decoration.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114470 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-21 20:16:37 +00:00 |
|
Howard Hinnant
|
b0be42b2ce
|
visibility-decoration.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114465 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-21 18:58:51 +00:00 |
|
Howard Hinnant
|
99acc5008b
|
visibility-decoration.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114451 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-21 17:32:39 +00:00 |
|
Howard Hinnant
|
c0de2e48ff
|
Getting started on a visibility-decoration sweep.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114440 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-21 16:04:28 +00:00 |
|
Howard Hinnant
|
3975ebd4f5
|
Tweak clang support for char16_t/char32_t
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114129 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-16 23:27:26 +00:00 |
|
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 |
|
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
|
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
|
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
|
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
|
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 |
|