Changing <atomic> to follow Design A
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@116742 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
be22ed405a
commit
21ef47f436
10279
include/atomic
10279
include/atomic
File diff suppressed because it is too large
Load Diff
@ -1,23 +0,0 @@
|
|||||||
//===------------------------- atomic.cpp ---------------------------------===//
|
|
||||||
//
|
|
||||||
// The LLVM Compiler Infrastructure
|
|
||||||
//
|
|
||||||
// This file is distributed under the University of Illinois Open Source
|
|
||||||
// License. See LICENSE.TXT for details.
|
|
||||||
//
|
|
||||||
//===----------------------------------------------------------------------===//
|
|
||||||
|
|
||||||
#include "__mutex_base"
|
|
||||||
#include "atomic"
|
|
||||||
|
|
||||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
|
||||||
|
|
||||||
_LIBCPP_VISIBLE
|
|
||||||
mutex&
|
|
||||||
__not_atomic_mut()
|
|
||||||
{
|
|
||||||
static mutex m;
|
|
||||||
return m;
|
|
||||||
}
|
|
||||||
|
|
||||||
_LIBCPP_END_NAMESPACE_STD
|
|
@ -79,18 +79,18 @@ type __atomic_exchange(type* atomic_obj, type desired, int mem_ord);
|
|||||||
|
|
||||||
<font color="#C80000">// type must be trivially copyable</font>
|
<font color="#C80000">// type must be trivially copyable</font>
|
||||||
<font color="#C80000">// Behavior is defined for mem_success = [0 ... 5],</font>
|
<font color="#C80000">// Behavior is defined for mem_success = [0 ... 5],</font>
|
||||||
<font color="#C80000">// mem_falure <= mem_success</font>
|
<font color="#C80000">// mem_failure <= mem_success</font>
|
||||||
<font color="#C80000">// mem_falure != 3</font>
|
<font color="#C80000">// mem_failure != 3</font>
|
||||||
<font color="#C80000">// mem_falure != 4</font>
|
<font color="#C80000">// mem_failure != 4</font>
|
||||||
bool __atomic_compare_exchange_strong(type* atomic_obj,
|
bool __atomic_compare_exchange_strong(type* atomic_obj,
|
||||||
type* expected, type desired,
|
type* expected, type desired,
|
||||||
int mem_success, int mem_failure);
|
int mem_success, int mem_failure);
|
||||||
|
|
||||||
<font color="#C80000">// type must be trivially copyable</font>
|
<font color="#C80000">// type must be trivially copyable</font>
|
||||||
<font color="#C80000">// Behavior is defined for mem_success = [0 ... 5],</font>
|
<font color="#C80000">// Behavior is defined for mem_success = [0 ... 5],</font>
|
||||||
<font color="#C80000">// mem_falure <= mem_success</font>
|
<font color="#C80000">// mem_failure <= mem_success</font>
|
||||||
<font color="#C80000">// mem_falure != 3</font>
|
<font color="#C80000">// mem_failure != 3</font>
|
||||||
<font color="#C80000">// mem_falure != 4</font>
|
<font color="#C80000">// mem_failure != 4</font>
|
||||||
bool __atomic_compare_exchange_weak(type* atomic_obj,
|
bool __atomic_compare_exchange_weak(type* atomic_obj,
|
||||||
type* expected, type desired,
|
type* expected, type desired,
|
||||||
int mem_success, int mem_failure);
|
int mem_success, int mem_failure);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user