Skip to content

Commit 95981de

Browse files
[expr.const] Check the result object of a prvalue
1 parent 0b296da commit 95981de

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

source/expressions.tex

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7973,38 +7973,38 @@
79737973
A \defnadj{constant}{expression} is either
79747974
a glvalue core constant expression that refers to
79757975
an entity that is a permitted result of a constant expression (as defined below), or
7976-
a prvalue core constant expression whose value
7976+
a prvalue core constant expression whose result object\iref{basic.lval}
79777977
satisfies the following constraints:
79787978
\begin{itemize}
79797979
\item
7980-
if the value is an object of class type,
7980+
if the result object is an object of class type,
79817981
each non-static data member of reference type refers to
79827982
an entity that is a permitted result of a constant expression,
79837983

79847984
\item
7985-
if the value is an object of scalar type,
7985+
if the result object is an object of scalar type,
79867986
it does not have an indeterminate or erroneous value\iref{basic.indet},
79877987

79887988
\item
7989-
if the value is of pointer type, it is
7989+
if the result object is of pointer type, it is
79907990
a pointer to an object with static storage duration,
79917991
a pointer past the end of such an object\iref{expr.add},
79927992
a pointer to a non-immediate function,
79937993
or a null pointer value,
79947994

79957995
\item
7996-
if the value is of pointer-to-member-function type,
7996+
if the result object is of pointer-to-member-function type,
79977997
it does not designate an immediate function, and
79987998

79997999
\item
8000-
if the value is an object of class or array type,
8001-
each subobject satisfies these constraints for the value.
8000+
if the result object is an object of class or array type,
8001+
each subobject satisfies these constraints for the result object.
80028002
\end{itemize}
80038003
An entity is a
80048004
\defnx{permitted result of a constant expression}{constant expression!permitted result of}
80058005
if it is an
80068006
object with static storage duration that either is not a temporary object or is
8007-
a temporary object whose value satisfies the above constraints, or if
8007+
a temporary object that satisfies the above constraints, or if
80088008
it is a non-immediate function.
80098009
\begin{note}
80108010
A glvalue core constant expression

0 commit comments

Comments
 (0)