Skip to content

Commit 8238d70

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 f818270 commit 8238d70

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

source/basic.tex

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3456,6 +3456,10 @@
34563456

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

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

3638+
\begin{note}
3639+
Therefore, undefined behavior results
3640+
if an object that is being constructed in one thread is referenced from another
3641+
thread without adequate synchronization.
3642+
\end{note}
3643+
36343644
\pnum
36353645
An object $o_1$ is \defn{transparently replaceable} by an object $o_2$ if
36363646
\begin{itemize}
@@ -3741,15 +3751,6 @@
37413751
}
37423752
\end{codeblock}
37433753
\end{example}
3744-
3745-
\pnum
3746-
In this subclause, ``before'' and ``after'' refer to the ``happens before''
3747-
relation\iref{intro.multithread}.
3748-
\begin{note}
3749-
Therefore, undefined behavior results
3750-
if an object that is being constructed in one thread is referenced from another
3751-
thread without adequate synchronization.
3752-
\end{note}
37533754
\indextext{object lifetime|)}
37543755

37553756
\rSec2[basic.indet]{Indeterminate and erroneous values}

0 commit comments

Comments
 (0)