<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<TITLE>
    CWG Issue 1956</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="1956"></A><H4>1956.
  
Reuse of storage of automatic variables
</H4>
<B>Section: </B>6.8.6.4&#160; [<A href="https://wg21.link/basic.stc.auto">basic.stc.auto</A>]
 &#160;&#160;&#160;

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

 <B>Submitter: </B>Daniel Kr&#252;gler
 &#160;&#160;&#160;

 <B>Date: </B>2014-06-29<BR>


<P>[Moved to DR at the May, 2015 meeting.]</P>



<P>According to 6.8.6.4 [<A href="https://wg21.link/basic.stc.auto#3">basic.stc.auto</A>] paragraph 3,</P>

<BLOCKQUOTE>

If a variable with automatic storage duration has
initialization or a destructor with side effects, it shall
not be destroyed before the end of its block, nor shall it
be eliminated as an optimization even if it appears to be
unused, except that a class object or its copy/move may be
eliminated as specified in 11.4.5.3 [<A href="https://wg21.link/class.copy.ctor">class.copy.ctor</A>].

</BLOCKQUOTE>

<P>This is intended to be a requirement for the implementation,
but it could be read as prohibiting the reuse of the storage of
an automatic variable by the program using a placement
<I>new-expression</I>.</P>

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

<P>Change 6.8.6.4 [<A href="https://wg21.link/basic.stc.auto#3">basic.stc.auto</A>] paragraph 3 as follows:</P>

<BLOCKQUOTE>

If a variable with automatic storage duration has
initialization or a destructor with side
effects, <DEL>it</DEL> <INS>an implementation</INS> shall
not <DEL>be destroyed</DEL> <INS>destroy it</INS> before the
end of its block<DEL>,</DEL> nor <DEL>shall it be
eliminated</DEL> <INS>eliminate it</INS> as an
optimization<INS>,</INS> even if it appears to be unused,
except that a class object or its copy/move may be
eliminated as specified in 11.4.5.3 [<A href="https://wg21.link/class.copy.ctor">class.copy.ctor</A>].

</BLOCKQUOTE>

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