<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<TITLE>
    CWG Issue 1553</TITLE>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<STYLE TYPE="text/css">
  INS { text-decoration:none; font-weight:bold; background-color:#A0FFA0 }
  .INS { text-decoration:none; background-color:#D0FFD0 }
  DEL { text-decoration:line-through; background-color:#FFA0A0 }
  .DEL { text-decoration:line-through; background-color: #FFD0D0 }
  @media (prefers-color-scheme: dark) {
    HTML { background-color:#202020; color:#f0f0f0; }
    A { color:#5bc0ff; }
    A:visited { color:#c6a8ff; }
    A:hover, a:focus { color:#afd7ff; }
    INS { background-color:#033a16; color:#aff5b4; }
    .INS { background-color: #033a16; }
    DEL { background-color:#67060c; color:#ffdcd7; }
    .DEL { background-color:#67060c; }
  }
  SPAN.cmnt { font-family:Times; font-style:italic }
</STYLE>
</HEAD>
<BODY>
<P><EM>This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21
  Core Issues List revision 118b.
  See http://www.open-std.org/jtc1/sc22/wg21/ for the official
  list.</EM></P>
<P>2025-09-28</P>
<HR>
<A NAME="1553"></A><H4>1553.
  
<TT>sizeof</TT> and xvalue bit-fields
</H4>
<B>Section: </B>7.6.2.5&#160; [<A href="https://wg21.link/expr.sizeof">expr.sizeof</A>]
 &#160;&#160;&#160;

 <B>Status: </B>CD3
 &#160;&#160;&#160;

 <B>Submitter: </B>Richard Smith
 &#160;&#160;&#160;

 <B>Date: </B>2012-09-13<BR>


<P>[Moved to DR at the April, 2013 meeting.]</P>



<P>According to 7.6.2.5 [<A href="https://wg21.link/expr.sizeof#1">expr.sizeof</A>] paragraph 1,</P>

<BLOCKQUOTE>

The <TT>sizeof</TT> operator shall not be applied...  to an lvalue
that designates a bit-field.

</BLOCKQUOTE>

<P>Xvalues can also designate bit-fields and thus should presumably
be addressed here as well.</P>

<P><B>Proposed resolution (October, 2012):</B></P>

<P>Change 7.6.2.5 [<A href="https://wg21.link/expr.sizeof#1">expr.sizeof</A>] paragraph 1 as follows:</P>

<BLOCKQUOTE>

The <TT>sizeof</TT> operator yields the number of bytes in the object
representation of its operand. The operand is either an expression,
which is an unevaluated operand (Clause 7 [<A href="https://wg21.link/expr">expr</A>]), or a
parenthesized <I>type-id</I>.  The <TT>sizeof</TT> operator shall not
be applied to an expression that has function or incomplete type, to
an enumeration type whose underlying type is not fixed before all its
enumerators have been declared, to the parenthesized name of such
types, or to <DEL>an lvalue</DEL> <INS>a glvalue</INS> that designates
a bit-field.  <TT>sizeof(char)</TT>...

</BLOCKQUOTE>

<BR><BR>
</BODY>
</HTML>
