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

2024-03-20


741. “plain” long long bit-fields

Section: 11.4.10  [class.bit]     Status: C++11     Submitter: Mike Miller     Date: 7 November, 2008

[Voted into WP at August, 2010 meeting.]

The type long long is missing from the list of bit-field types in 11.4.10 [class.bit] paragraph 3 for which the implementation can choose the signedness. This was presumably an oversight. (If that is the case, we may want to reconsider the handling of 7.3.7 [conv.prom] paragraph 3: a long long bit-field that the implementation treats as unsigned will — pending the outcome of issue 739 — still promote to signed long long, which can lead to unexpected results for bit-fields with the same number of bits as long long.)

Proposed resolution (February, 2010):

Change 11.4.10 [class.bit] paragraph 3 as follows:

...It is implementation-defined whether a plain (neither explicitly signed nor unsigned) char, short, int or, long, or long long bit-field is signed or unsigned...