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

2024-12-19


2645. Unused term "default argument promotions"

Section: 7.6.1.3  [expr.call]     Status: C++23     Submitter: US     Date: 2022-11-03

P2720R0 comment US 15-044

[Accepted as a DR at the November, 2022 meeting.]

The phrase "default argument promotions" is apparently unused.

Possible resolution [SUPERSEDED]:

  1. Change in 7.6.1.3 [expr.call] paragraph 12 as follows:

    ...If the argument has integral or enumeration type that is subject to the integral promotions (7.3.7 [conv.prom]), or a floating-point type that is subject to the floating-point promotion (7.3.8 [conv.fpprom]), the value of the argument is converted to the promoted type before the call. These promotions are referred to as the default argument promotions.
  2. Change in 17.13.2 [cstdarg.syn] as follows:

    See also: ISO C 7.16.1.1 7.16.1

CWG 2022-11-10

The phrase is useful and needed to override C's deviating definition, as applicable to va_arg.

Proposed resolution (approved by CWG and LWG 2022-11-11):

Change in 17.13.2 [cstdarg.syn] as follows:

The contents of the header <cstdarg> are the same as the C standard library header <stdarg.h>, with the following changes: In lieu of the default argument promotions specified in ISO C 6.5.2.2, the definition in 7.6.1.3 [expr.call] applies. The restrictions that ISO C places on the second parameter to the va_start macro in header <stdarg.h> are different in this document. ...