<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<TITLE>
    CWG Issue 1766</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="1766"></A><H4>1766.
  
Values outside the range of the values of an enumeration
</H4>
<B>Section: </B>9.8.1&#160; [<A href="https://wg21.link/dcl.enum">dcl.enum</A>]
 &#160;&#160;&#160;

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

 <B>Submitter: </B>CWG
 &#160;&#160;&#160;

 <B>Date: </B>2013-09-23<BR>


<P>[Moved to DR at the November, 2014 meeting.]</P>

<P>Although <A HREF="1094.html">issue 1094</A> clarified that the value
of an expression of enumeration type might not be within the range of the
values of the enumeration after a conversion to the enumeration type (see
7.6.1.9 [<A href="https://wg21.link/expr.static.cast#10">expr.static.cast</A>] paragraph 10), the result is simply an
unspecified value.  This should probably be strengthened to produce
undefined behavior, in light of the fact that undefined behavior makes an
expression non-constant.  See also 11.4.10 [<A href="https://wg21.link/class.bit#4">class.bit</A>] paragraph 4.</P>

<P><B>Proposed resolution (February, 2014):</B></P>

<P>Change 7.6.1.9 [<A href="https://wg21.link/expr.static.cast#10">expr.static.cast</A>] paragraph 10 as follows:</P>

<BLOCKQUOTE>

A value of integral or enumeration type can be explicitly converted to an
enumeration type. The value is unchanged if the original value is within
the range of the enumeration values (9.8.1 [<A href="https://wg21.link/dcl.enum">dcl.enum</A>]). Otherwise,
the <DEL>resulting value is unspecified (and might not be in that
range)</DEL> <INS>behavior is undefined</INS>. A value of floating-point
type...

</BLOCKQUOTE>

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