From Jason Turner

[atomics.fences]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpb7w5ksbp/{from.md → to.md} +11 -13
tmp/tmpb7w5ksbp/{from.md → to.md} RENAMED
@@ -27,11 +27,11 @@ release sequence headed by *A*.
27
 
28
  ``` cpp
29
  extern "C" void atomic_thread_fence(memory_order order) noexcept;
30
  ```
31
 
32
- *Effects:* depending on the value of `order`, this operation:
33
 
34
  - has no effects, if `order == memory_order_relaxed`;
35
  - is an acquire fence, if
36
  `order == memory_order_acquire || order == memory_order_consume`;
37
  - is a release fence, if `order == memory_order_release`;
@@ -46,32 +46,30 @@ extern "C" void atomic_signal_fence(memory_order order) noexcept;
46
 
47
  *Effects:* Equivalent to `atomic_thread_fence(order)`, except that the
48
  resulting ordering constraints are established only between a thread and
49
  a signal handler executed in the same thread.
50
 
51
- *Note:* `atomic_signal_fence` can be used to specify the order in which
52
- actions performed by the thread become visible to the signal handler.
53
-
54
- *Note:* compiler optimizations and reorderings of loads and stores are
55
  inhibited in the same way as with `atomic_thread_fence`, but the
56
  hardware fence instructions that `atomic_thread_fence` would have
57
- inserted are not emitted.
58
 
59
  <!-- Link reference definitions -->
60
  [atomics]: #atomics
 
61
  [atomics.fences]: #atomics.fences
62
  [atomics.flag]: #atomics.flag
63
  [atomics.general]: #atomics.general
64
  [atomics.lockfree]: #atomics.lockfree
 
65
  [atomics.order]: #atomics.order
66
  [atomics.syn]: #atomics.syn
67
  [atomics.types.generic]: #atomics.types.generic
 
 
68
  [atomics.types.operations]: #atomics.types.operations
69
- [atomics.types.operations.arith]: #atomics.types.operations.arith
70
- [atomics.types.operations.general]: #atomics.types.operations.general
71
- [atomics.types.operations.pointer]: #atomics.types.operations.pointer
72
- [atomics.types.operations.req]: #atomics.types.operations.req
73
- [atomics.types.operations.templ]: #atomics.types.operations.templ
74
  [basic.types]: basic.md#basic.types
75
  [intro.multithread]: intro.md#intro.multithread
76
- [tab:atomics.integral]: #tab:atomics.integral
77
- [tab:atomics.typedefs]: #tab:atomics.typedefs
 
27
 
28
  ``` cpp
29
  extern "C" void atomic_thread_fence(memory_order order) noexcept;
30
  ```
31
 
32
+ *Effects:* Depending on the value of `order`, this operation:
33
 
34
  - has no effects, if `order == memory_order_relaxed`;
35
  - is an acquire fence, if
36
  `order == memory_order_acquire || order == memory_order_consume`;
37
  - is a release fence, if `order == memory_order_release`;
 
46
 
47
  *Effects:* Equivalent to `atomic_thread_fence(order)`, except that the
48
  resulting ordering constraints are established only between a thread and
49
  a signal handler executed in the same thread.
50
 
51
+ [*Note 1*: `atomic_signal_fence` can be used to specify the order in
52
+ which actions performed by the thread become visible to the signal
53
+ handler. Compiler optimizations and reorderings of loads and stores are
 
54
  inhibited in the same way as with `atomic_thread_fence`, but the
55
  hardware fence instructions that `atomic_thread_fence` would have
56
+ inserted are not emitted. — *end note*]
57
 
58
  <!-- Link reference definitions -->
59
  [atomics]: #atomics
60
+ [atomics.alias]: #atomics.alias
61
  [atomics.fences]: #atomics.fences
62
  [atomics.flag]: #atomics.flag
63
  [atomics.general]: #atomics.general
64
  [atomics.lockfree]: #atomics.lockfree
65
+ [atomics.nonmembers]: #atomics.nonmembers
66
  [atomics.order]: #atomics.order
67
  [atomics.syn]: #atomics.syn
68
  [atomics.types.generic]: #atomics.types.generic
69
+ [atomics.types.int]: #atomics.types.int
70
+ [atomics.types.memop]: #atomics.types.memop
71
  [atomics.types.operations]: #atomics.types.operations
72
+ [atomics.types.pointer]: #atomics.types.pointer
 
 
 
 
73
  [basic.types]: basic.md#basic.types
74
  [intro.multithread]: intro.md#intro.multithread
75
+ [intro.progress]: intro.md#intro.progress