Skip to content

Commit 8268a3e

Browse files
committed
[basic.life] Move definition of before and after from bottom to top of subclause
The last paragraph of this subclause changes the definition of English words used throughout the preceding paragraphs. While it might be preferable to replace all such usage with the new definitions, that would be a Core issue, see paragraph 6 for an example of awkward usage. Hence, we move the redefinition to the start of the subclause so we know how to read this text from the start.
1 parent 39c148c commit 8268a3e

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

source/basic.tex

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3457,6 +3457,10 @@
34573457

34583458
\rSec2[basic.life]{Lifetime}
34593459

3460+
\pnum
3461+
In this subclause, ``before'' and ``after'' refer to the ``happens before''
3462+
relation\iref{intro.multithread}.
3463+
34603464
\pnum
34613465
\indextext{object lifetime|(}%
34623466
The \defn{lifetime} of an object or reference is a runtime property of the
@@ -3632,6 +3636,13 @@
36323636
\keyword{typeid}.
36333637
\end{itemize}
36343638

3639+
\begin{note}
3640+
Therefore, undefined behavior results
3641+
if an object that is being constructed in one thread is referenced from another
3642+
thread without adequate synchronization.
3643+
\end{note}
3644+
\indextext{object lifetime|)}
3645+
36353646
\pnum
36363647
An object $o_1$ is \defn{transparently replaceable} by an object $o_2$ if
36373648
\begin{itemize}
@@ -3743,16 +3754,6 @@
37433754
\end{codeblock}
37443755
\end{example}
37453756

3746-
\pnum
3747-
In this subclause, ``before'' and ``after'' refer to the ``happens before''
3748-
relation\iref{intro.multithread}.
3749-
\begin{note}
3750-
Therefore, undefined behavior results
3751-
if an object that is being constructed in one thread is referenced from another
3752-
thread without adequate synchronization.
3753-
\end{note}
3754-
\indextext{object lifetime|)}
3755-
37563757
\rSec2[basic.indet]{Indeterminate and erroneous values}
37573758

37583759
\pnum

0 commit comments

Comments
 (0)