Howard Hinnant
|
890477f333
|
Provide a more readable error message for <atomic> until it is implemented.
llvm-svn: 128636
|
2011-03-31 16:39:39 +00:00 |
Howard Hinnant
|
b5452b3db5
|
After a long break to wait for the atomic spec to settle, this completes the library part of <atomic>. It currently won't even parse as it depends on the existence of the intrinsics specified at http://libcxx.llvm.org/atomic_design_a.html. Everything has been tested using fake intrinsics which have now been removed. As the intrinsics come online, the ATOMIC_* macros will need to be adjusted to reflect which operations are lock-free. These macros will probably need to be #ifdef'd for each supported platform.
llvm-svn: 121267
|
2010-12-08 17:20:28 +00:00 |
Howard Hinnant
|
c5f5f0a166
|
atomics ...
llvm-svn: 121204
|
2010-12-07 23:24:41 +00:00 |
Howard Hinnant
|
c772a62096
|
Work on <atomic> continues. The file size is actually sane now...
llvm-svn: 121181
|
2010-12-07 20:46:14 +00:00 |
Howard Hinnant
|
9847abacb1
|
Getting <atomic> warmed back up. We have a hopefully more stable spec now. And I believe the intrinsic spec at http://libcxx.llvm.org/atomic_design_a.html is still good.
llvm-svn: 121064
|
2010-12-06 23:10:08 +00:00 |
Howard Hinnant
|
a7c2f3eac3
|
[atomics.types.address]
llvm-svn: 117033
|
2010-10-21 17:44:19 +00:00 |
Howard Hinnant
|
f9c02e15c4
|
atomic_schar, atomic_uchar, atomic_short, atomic_ushort, atomic_int, atomic_uint, atomic_long, atomic_ulong, atomic_llong, atomic_ullong, atomic_char16_t, atomic_char32_t and atomic_wchar_t.
llvm-svn: 116860
|
2010-10-19 21:22:10 +00:00 |
Howard Hinnant
|
d89b01e521
|
atomic_char
llvm-svn: 116813
|
2010-10-19 16:51:18 +00:00 |
Howard Hinnant
|
b2b5513dcc
|
Changing <atomic> to follow Design A
llvm-svn: 116742
|
2010-10-18 20:39:07 +00:00 |
Howard Hinnant
|
772699070e
|
Make flag type configurable by the compiler
llvm-svn: 115614
|
2010-10-05 14:02:23 +00:00 |
Howard Hinnant
|
668523a1b8
|
Filling out the infrastructure in <atomic>
llvm-svn: 115577
|
2010-10-04 23:55:35 +00:00 |
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
|
a31e741ac9
|
Name change of intrinsics as suggested by Jeffrey Yasskin
llvm-svn: 115145
|
2010-09-30 14:04:35 +00:00 |
Howard Hinnant
|
88efc1c7a5
|
Contemplating this <atomic> reorganization...
llvm-svn: 115087
|
2010-09-29 21:20:03 +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
|
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 |