You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently serveral bullets in [expr.const] are mentioning standard library components.
Constant evaluation failure required:
(5.28) an invocation of the va_arg macro ([cstdarg.syn]);
(5.29) a non-constant library call ([defns.nonconst.libcall]); or
Unspecified whether constant evaluation fails:
(5.31) an operation that has undefined behavior as specified in [library] through [thread],
(5.32) an invocation of the va_start macro ([cstdarg.syn]), or
And in [bit.pow.two]/8, constant evaluation failure is required when bit_ceil call results in UB (generally not required for library UB).
Remarks: A function call expression that violates the precondition in the Preconditions: element is not a core constant expression ([expr.const]).
It may be a consistency improvement to specify all of these cases with "non-constant library call". Although only function invocation is specified in "non-constant library call", it seems easy to extend the definition to cover function-like macros.
The text was updated successfully, but these errors were encountered:
Currently serveral bullets in [expr.const] are mentioning standard library components.
Constant evaluation failure required:
Unspecified whether constant evaluation fails:
And in [bit.pow.two]/8, constant evaluation failure is required when
bit_ceil
call results in UB (generally not required for library UB).It may be a consistency improvement to specify all of these cases with "non-constant library call". Although only function invocation is specified in "non-constant library call", it seems easy to extend the definition to cover function-like macros.
The text was updated successfully, but these errors were encountered: