Skip to content

Commit 1227001

Browse files
burblebeetkoeppe
authored andcommitted
CWG2763 Ignorability of [[noreturn]] during constant evaluation
1 parent 65dd47b commit 1227001

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

source/expressions.tex

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7447,7 +7447,7 @@
74477447
\item
74487448
an operation that would have undefined behavior
74497449
as specified in \ref{intro} through \ref{cpp},
7450-
excluding \ref{dcl.attr.assume};
7450+
excluding \ref{dcl.attr.assume} and \ref{dcl.attr.noreturn};
74517451
\begin{footnote}
74527452
This includes,
74537453
for example, signed integer overflow\iref{expr.pre}, certain
@@ -7604,6 +7604,7 @@
76047604
\end{note}
76057605
\end{itemize}
76067606

7607+
\pnum
76077608
It is unspecified whether $E$ is a core constant expression
76087609
if $E$ satisfies the constraints of a core constant expression, but
76097610
evaluation of $E$ would evaluate
@@ -7612,7 +7613,12 @@
76127613
an operation that has undefined behavior
76137614
as specified in \ref{library} through \ref{\lastlibchapter},
76147615
\item
7615-
an invocation of the \tcode{va_start} macro\iref{cstdarg.syn}, or
7616+
an invocation of the \tcode{va_start} macro\iref{cstdarg.syn},
7617+
\item
7618+
a call to a function
7619+
that was previously declared
7620+
with the \tcode{noreturn} attribute\iref{dcl.attr.noreturn} and
7621+
that call returns to its caller, or
76167622
\item
76177623
a statement with an assumption\iref{dcl.attr.assume}
76187624
whose converted \grammarterm{conditional-expression},

0 commit comments

Comments
 (0)