Howard Hinnant
|
2b672e24a5
|
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...
llvm-svn: 115538
|
2010-10-04 18:52:54 +00:00 |
Howard Hinnant
|
748a5279b1
|
[atomics.flag] completed. Initialization is not working on clang and can't be made to work without defaulted default constructors.
llvm-svn: 115207
|
2010-09-30 21:05:29 +00:00 |
Howard Hinnant
|
88efc1c7a5
|
Contemplating this <atomic> reorganization...
llvm-svn: 115087
|
2010-09-29 21:20:03 +00:00 |
Howard Hinnant
|
7d489d7a73
|
Didn't mean to commit that one
llvm-svn: 115058
|
2010-09-29 18:33:45 +00:00 |
Howard Hinnant
|
7387390d6e
|
Wrestling with the slowly dawning realization that <atomic> isn't implementable on any compiler at my disposal...
llvm-svn: 115054
|
2010-09-29 18:13:54 +00:00 |
Howard Hinnant
|
eb9e9a3710
|
fixing whitespace
llvm-svn: 114967
|
2010-09-28 17:19:10 +00:00 |
Howard Hinnant
|
cfe0b0a1ab
|
[atomics.order]
llvm-svn: 114966
|
2010-09-28 17:13:38 +00:00 |
Howard Hinnant
|
cd39d413b4
|
Getting started on <atomic>
llvm-svn: 114887
|
2010-09-27 21:17:38 +00:00 |
Daniel Dunbar
|
5f09d9e00a
|
tests/lit: Split options into two groups, so we don't get driver warnings about
unused linker arguments for compile only tests.
llvm-svn: 113935
|
2010-09-15 04:31:58 +00:00 |
Daniel Dunbar
|
ecd98d5173
|
tests: Remove some stray cleanup code.
llvm-svn: 113934
|
2010-09-15 04:18:37 +00:00 |
Daniel Dunbar
|
bc9a848e04
|
tests: Fixup lit config, which got garbled somehow...
llvm-svn: 113931
|
2010-09-15 04:11:29 +00:00 |
Daniel Dunbar
|
42ea463089
|
tests: Sketch a lit config for running libc++ tests; currently expects libc++ to have been installed.
llvm-svn: 113925
|
2010-09-15 03:57:04 +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
|
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 |
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
|
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
|
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 |