This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 119e. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.

2026-04-17


3176. Sequencing default arguments during constant evaluation

Section: 6.10.1  [intro.execution]     Status: tentatively ready     Submitter: Lénárd Szolnoki     Date: 2026-03-09

(From submission #859.)

According to 6.10.1 [intro.execution] paragraph 16, lexical order is used for sequencing during constant evalution. It is unclear how that applies to default arguments used in a function call.

Proposed resolution (approved by CWG 2026-04-17):

Change in 6.10.1 [intro.execution] paragraph 16 as follows:

During the evaluation of an expression as a core constant expression (7.7 [expr.const]), evaluations of operands of individual operators and of subexpressions of individual expressions that are otherwise either unsequenced or indeterminately sequenced are evaluated in lexical order. For a function call (7.6.1.3 [expr.call]), any default arguments used are evaluated in the order as-if an argument were present for the corresponding parameter.