File tree Expand file tree Collapse file tree 5 files changed +237
-202
lines changed Expand file tree Collapse file tree 5 files changed +237
-202
lines changed Original file line number Diff line number Diff line change 7393
7393
an \grammarterm {asm-declaration}\iref {dcl.asm };
7394
7394
7395
7395
\item
7396
- an invocation of the \tcode {va_arg} macro\iref {cstdarg.syn }; or
7396
+ an invocation of the \tcode {va_arg} macro\iref {cstdarg.syn };
7397
+
7398
+ \item
7399
+ a non-constant library call\iref {defns.nonconst.libcall };
7400
+ or
7397
7401
7398
7402
\item
7399
7403
a \keyword {goto} statement\iref {stmt.goto }.
Original file line number Diff line number Diff line change 423
423
sequence of one or more bytes representing
424
424
the code unit sequence for an encoded character of the execution character set
425
425
426
+ \indexdefn {library call!non-constant}%
427
+ \definition {non-constant library call}{defns.nonconst.libcall}
428
+ invocation of a library function that,
429
+ as part of evaluating any expression \tcode {E},
430
+ prevents \tcode {E} from being a core constant expression
431
+
426
432
\definition {NTCTS}{defns.ntcts}
427
433
\defncontext {library}
428
434
\indexdefn {NTCTS}%
Original file line number Diff line number Diff line change 136
136
ISO C \tcode {restrict} qualifier)
137
137
are the same unless otherwise stated.
138
138
139
+ \pnum
140
+ A call to a C standard library function is
141
+ a non-constant library call\iref {defns.nonconst.libcall }
142
+ if it raises a floating-point exception other than \tcode {FE_INEXACT}.
143
+ The semantics of a call to a C standard library function
144
+ evaluated as a core constant expression
145
+ are those specified in Annex F of the C standard
146
+ \begin {footnote }
147
+ See also ISO/IEC 9899:2018 section 7.6.
148
+ \end {footnote }
149
+ to the extent applicable to the floating-point types\iref {basic.fundamental }
150
+ that are parameter types of the called function.
151
+ \begin {note }
152
+ Annex F specifies
153
+ the conditions under which floating-point exceptions are raised and
154
+ the behavior when NaNs and/or infinities are passed as arguments.
155
+ \end {note }
156
+ \begin {note }
157
+ Equivalently, a call to a C standard library function is
158
+ a non-constant library call
159
+ if \tcode {errno} is set
160
+ when \tcode {math_errhandling \& MATH_ERRNO} is \tcode {true}.
161
+ \end {note }
162
+
139
163
\rSec 1[description]{Method of description}
140
164
141
165
\rSec 2[description.general]{General}
You can’t perform that action at this time.
0 commit comments