Skip to content

Commit

Permalink
[expr.ass] Rename problematic stable label
Browse files Browse the repository at this point in the history
As more folks from outside the technically focused WG21 committee
pay attention to our standard, some language starts to gain attention
as problematic.  This commit fixes one such case.
  • Loading branch information
AlisdairM committed Dec 29, 2024
1 parent a2429a5 commit 34083d2
Show file tree
Hide file tree
Showing 9 changed files with 20 additions and 17 deletions.
6 changes: 3 additions & 3 deletions source/basic.tex
Original file line number Diff line number Diff line change
Expand Up @@ -674,7 +674,7 @@
is defined\iref{basic.def} or called\iref{expr.call}, or
\item a class with a base class of type \tcode{T} is
defined\iref{class.derived}, or
\item an lvalue of type \tcode{T} is assigned to\iref{expr.ass}, or
\item an lvalue of type \tcode{T} is assigned to\iref{expr.assign}, or
\item the type \tcode{T} is the subject of an
\keyword{alignof} expression\iref{expr.alignof}, or
\item an \grammarterm{exception-declaration} has type \tcode{T}, reference to
Expand Down Expand Up @@ -3907,7 +3907,7 @@
\end{itemize}
If no initialization is performed for an object (including subobjects),
such a byte retains its initial value
until that value is replaced\iref{dcl.init.general,expr.ass}.
until that value is replaced\iref{dcl.init.general,expr.assign}.
If any bit in the value representation has an indeterminate value,
the object has an indeterminate value;
otherwise, if any bit in the value representation has an erroneous value,
Expand Down Expand Up @@ -3949,7 +3949,7 @@
If an indeterminate or erroneous value of
unsigned ordinary character type or \tcode{std::byte} type
is produced by the evaluation of
the right operand of a simple assignment operator\iref{expr.ass}
the right operand of a simple assignment operator\iref{expr.assign}
whose first operand is an lvalue of
unsigned ordinary character type or \tcode{std::byte} type,
an indeterminate value or that erroneous value, respectively, replaces
Expand Down
2 changes: 1 addition & 1 deletion source/classes.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3117,7 +3117,7 @@
Otherwise, $S(\mathtt{E})$ is empty.
\end{itemize}
In an assignment expression of the form \tcode{E1 = E2}
that uses either the built-in assignment operator\iref{expr.ass}
that uses either the built-in assignment operator\iref{expr.assign}
or a trivial assignment operator\iref{class.copy.assign},
for each element \tcode{X} of $S($\tcode{E1}$)$ and
each anonymous union member \tcode{X}\iref{class.union.anon} that
Expand Down
2 changes: 1 addition & 1 deletion source/compatibility.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2969,7 +2969,7 @@
\howwide
Rare.

\diffref{expr.cond,expr.ass,expr.comma}
\diffref{expr.cond,expr.assign,expr.comma}
\indextext{conversion!lvalue-to-rvalue}%
\indextext{rvalue!lvalue conversion to}%
\indextext{lvalue}%
Expand Down
8 changes: 4 additions & 4 deletions source/declarations.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1277,7 +1277,7 @@

\pnum
\indextext{const object!undefined change to}%
Any attempt to modify\iref{expr.ass,expr.post.incr,expr.pre.incr} a
Any attempt to modify\iref{expr.assign,expr.post.incr,expr.pre.incr} a
const object\iref{basic.type.qualifier} during its
lifetime\iref{basic.life} results in undefined behavior.
\begin{example}
Expand Down Expand Up @@ -3007,7 +3007,7 @@
\end{example}

\pnum
See also~\ref{expr.ass} and~\ref{dcl.init}.
See also~\ref{expr.assign} and~\ref{dcl.init}.

\pnum
\begin{note}
Expand Down Expand Up @@ -5684,7 +5684,7 @@
A reference cannot be changed to refer to another object after initialization.
\indextext{assignment!reference}%
\begin{note}
Assignment to a reference assigns to the object referred to by the reference\iref{expr.ass}.
Assignment to a reference assigns to the object referred to by the reference\iref{expr.assign}.
\end{note}
\indextext{argument passing!reference and}%
Argument passing\iref{expr.call}
Expand Down Expand Up @@ -5939,7 +5939,7 @@
\item as an argument to a constructor invocation\iref{dcl.init,expr.type.conv},
\item as an initializer for a non-static data member\iref{class.mem},
\item in a \grammarterm{mem-initializer}\iref{class.base.init}, or
\item on the right-hand side of an assignment\iref{expr.ass}.
\item on the right-hand side of an assignment\iref{expr.assign}.
\end{itemize}

\begin{example}
Expand Down
10 changes: 5 additions & 5 deletions source/expressions.tex
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@
\begin{footnote}
The cast and assignment operators must still perform their specific
conversions as described in~\ref{expr.type.conv}, \ref{expr.cast},
\ref{expr.static.cast} and~\ref{expr.ass}.
\ref{expr.static.cast} and~\ref{expr.assign}.
\end{footnote}

\rSec1[expr.prop]{Properties of expressions}
Expand Down Expand Up @@ -297,7 +297,7 @@
\begin{note}
A program that attempts
to modify an object through a nonmodifiable lvalue or through an rvalue
is ill-formed\iref{expr.ass,expr.post.incr,expr.pre.incr}.
is ill-formed\iref{expr.assign,expr.post.incr,expr.pre.incr}.
\end{note}

\pnum
Expand Down Expand Up @@ -4864,7 +4864,7 @@
An operand with volatile-qualified type is deprecated;
see~\ref{depr.volatile.type}.
The expression \tcode{++x} is otherwise equivalent to \tcode{x+=1} and
the expression \tcode{--x} is otherwise equivalent to \tcode{x-=1}\iref{expr.ass}.
the expression \tcode{--x} is otherwise equivalent to \tcode{x-=1}\iref{expr.assign}.
\begin{note}
For postfix increment and decrement, see~\ref{expr.post.incr}.
\end{note}
Expand Down Expand Up @@ -7296,7 +7296,7 @@
\end{codeblock}
\end{example}

\rSec2[expr.ass]{Assignment and compound assignment operators}%
\rSec2[expr.assign]{Assignment and compound assignment operators}%
\indextext{expression!assignment and compound assignment}

\pnum
Expand Down Expand Up @@ -7827,7 +7827,7 @@
a \keyword{reinterpret_cast}\iref{expr.reinterpret.cast};

\item
a modification of an object\iref{expr.ass,expr.post.incr,expr.pre.incr}
a modification of an object\iref{expr.assign,expr.post.incr,expr.pre.incr}
unless it is applied to a non-volatile lvalue of literal type
that refers to a non-volatile object
whose lifetime began within the evaluation of $E$;
Expand Down
2 changes: 1 addition & 1 deletion source/future.tex
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
\pnum
Certain assignments
where the left operand is a volatile-qualified non-class type
are deprecated; see~\ref{expr.ass}.
are deprecated; see~\ref{expr.assign}.

\begin{example}
\begin{codeblock}
Expand Down
2 changes: 1 addition & 1 deletion source/intro.tex
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
Only glvalues of scalar type can be used to access objects.
Reads of scalar objects are described in \ref{conv.lval} and
modifications of scalar objects are described in
\ref{expr.ass}, \ref{expr.post.incr}, and \ref{expr.pre.incr}.
\ref{expr.assign}, \ref{expr.post.incr}, and \ref{expr.pre.incr}.
Attempts to read or modify an object of class type
typically invoke a constructor\iref{class.ctor}
or assignment operator\iref{class.copy.assign};
Expand Down
2 changes: 1 addition & 1 deletion source/overloading.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3093,7 +3093,7 @@
\item
an object or reference being initialized\iref{dcl.init,dcl.init.ref,dcl.init.list},
\item
the left side of an assignment\iref{expr.ass},
the left side of an assignment\iref{expr.assign},
\item
a parameter of a function\iref{expr.call},
\item
Expand Down
3 changes: 3 additions & 0 deletions source/xrefdelta.tex
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,9 @@
% https://github.com/cplusplus/draft/pull/7345
\movedxref{basic.stc.inherit}{basic.stc.general}

% https://github.com/cplusplus/draft/pull/7524
\movedxref{expr.ass}{expr.assign}

%%% Deprecated features.
%%% Example:
%
Expand Down

0 comments on commit 34083d2

Please sign in to comment.