From Jason Turner

[res.on.data.races]

Diff to HTML by rtfpessoa

tmp/tmpcx3suyr9/{from.md → to.md} RENAMED
@@ -1,27 +1,27 @@
1
  #### Data race avoidance <a id="res.on.data.races">[[res.on.data.races]]</a>
2
 
3
- This section specifies requirements that implementations shall meet to
4
- prevent data races ([[intro.multithread]]). Every standard library
5
  function shall meet each requirement unless otherwise specified.
6
  Implementations may prevent data races in cases other than those
7
  specified below.
8
 
9
  A C++ standard library function shall not directly or indirectly access
10
- objects ([[intro.multithread]]) accessible by threads other than the
11
  current thread unless the objects are accessed directly or indirectly
12
  via the function’s arguments, including `this`.
13
 
14
  A C++ standard library function shall not directly or indirectly modify
15
- objects ([[intro.multithread]]) accessible by threads other than the
16
  current thread unless the objects are accessed directly or indirectly
17
  via the function’s non-const arguments, including `this`.
18
 
19
- [*Note 1*: This means, for example, that implementations can’t use a
20
- static object for internal purposes without synchronization because it
21
- could cause a data race even in programs that do not explicitly share
22
- objects between threads. — *end note*]
23
 
24
  A C++ standard library function shall not access objects indirectly
25
  accessible via its arguments or via elements of its container arguments
26
  except by invoking functions required by its specification on those
27
  container elements.
@@ -38,10 +38,10 @@ Implementations may share their own internal objects between threads if
38
  the objects are not visible to users and are protected against data
39
  races.
40
 
41
  Unless otherwise specified, C++ standard library functions shall perform
42
  all operations solely within the current thread if those operations have
43
- effects that are visible ([[intro.multithread]]) to users.
44
 
45
  [*Note 3*: This allows implementations to parallelize operations if
46
  there are no visible side effects. — *end note*]
47
 
 
1
  #### Data race avoidance <a id="res.on.data.races">[[res.on.data.races]]</a>
2
 
3
+ This subclause specifies requirements that implementations shall meet to
4
+ prevent data races [[intro.multithread]]. Every standard library
5
  function shall meet each requirement unless otherwise specified.
6
  Implementations may prevent data races in cases other than those
7
  specified below.
8
 
9
  A C++ standard library function shall not directly or indirectly access
10
+ objects [[intro.multithread]] accessible by threads other than the
11
  current thread unless the objects are accessed directly or indirectly
12
  via the function’s arguments, including `this`.
13
 
14
  A C++ standard library function shall not directly or indirectly modify
15
+ objects [[intro.multithread]] accessible by threads other than the
16
  current thread unless the objects are accessed directly or indirectly
17
  via the function’s non-const arguments, including `this`.
18
 
19
+ [*Note 1*: This means, for example, that implementations can’t use an
20
+ object with static storage duration for internal purposes without
21
+ synchronization because it could cause a data race even in programs that
22
+ do not explicitly share objects between threads. — *end note*]
23
 
24
  A C++ standard library function shall not access objects indirectly
25
  accessible via its arguments or via elements of its container arguments
26
  except by invoking functions required by its specification on those
27
  container elements.
 
38
  the objects are not visible to users and are protected against data
39
  races.
40
 
41
  Unless otherwise specified, C++ standard library functions shall perform
42
  all operations solely within the current thread if those operations have
43
+ effects that are visible [[intro.multithread]] to users.
44
 
45
  [*Note 3*: This allows implementations to parallelize operations if
46
  there are no visible side effects. — *end note*]
47