summaryrefslogtreecommitdiffstats
path: root/libcxx/include/atomic
Commit message (Collapse)AuthorAgeFilesLines
...
* After a long break to wait for the atomic spec to settle, this completes the ↵Howard Hinnant2010-12-081-245/+106
| | | | | | 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
* atomics ...Howard Hinnant2010-12-071-7/+57
| | | | llvm-svn: 121204
* Work on <atomic> continues. The file size is actually sane now...Howard Hinnant2010-12-071-9273/+540
| | | | llvm-svn: 121181
* Getting <atomic> warmed back up. We have a hopefully more stable spec now. ↵Howard Hinnant2010-12-061-2273/+747
| | | | | | And I believe the intrinsic spec at http://libcxx.llvm.org/atomic_design_a.html is still good. llvm-svn: 121064
* [atomics.types.address]Howard Hinnant2010-10-211-0/+470
| | | | llvm-svn: 117033
* atomic_schar, atomic_uchar, atomic_short, atomic_ushort, atomic_int, ↵Howard Hinnant2010-10-191-0/+7945
| | | | | | atomic_uint, atomic_long, atomic_ulong, atomic_llong, atomic_ullong, atomic_char16_t, atomic_char32_t and atomic_wchar_t. llvm-svn: 116860
* atomic_charHoward Hinnant2010-10-191-55/+630
| | | | llvm-svn: 116813
* Changing <atomic> to follow Design AHoward Hinnant2010-10-181-10238/+43
| | | | llvm-svn: 116742
* Make flag type configurable by the compilerHoward Hinnant2010-10-051-12/+23
| | | | llvm-svn: 115614
* Filling out the infrastructure in <atomic>Howard Hinnant2010-10-041-81/+9371
| | | | llvm-svn: 115577
* Still working on the basic design of <atomic>. I'm working towards a system ↵Howard Hinnant2010-10-041-54/+1150
| | | | | | 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
* [atomics.flag] completed. Initialization is not working on clang and can't ↵Howard Hinnant2010-09-301-1/+1
| | | | | | be made to work without defaulted default constructors. llvm-svn: 115207
* Name change of intrinsics as suggested by Jeffrey YasskinHoward Hinnant2010-09-301-14/+13
| | | | llvm-svn: 115145
* Contemplating this <atomic> reorganization...Howard Hinnant2010-09-291-38/+201
| | | | llvm-svn: 115087
* Wrestling with the slowly dawning realization that <atomic> isn't ↵Howard Hinnant2010-09-291-0/+66
| | | | | | implementable on any compiler at my disposal... llvm-svn: 115054
* [atomics.order]Howard Hinnant2010-09-281-2/+19
| | | | llvm-svn: 114966
* Getting started on <atomic>Howard Hinnant2010-09-271-0/+2418
llvm-svn: 114887
OpenPOWER on IntegriCloud