<html>#2426: g++-10 possibly miscompiles parts of Carpet
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Roland Haas</td></tr>
<tr><td style='text-align:right'>   Status:</td><td>new</td></tr>
<tr><td style='text-align:right'>Milestone:</td><td></td></tr>
<tr><td style='text-align:right'>  Version:</td><td></td></tr>
<tr><td style='text-align:right'>     Type:</td><td>bug</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>major</td></tr>
<tr><td style='text-align:right'>Component:</td><td>Other</td></tr>
</table>

<p>Comment (by Roland Haas):</p>
<p>Looking at the code, this part has me a bit suspicious:</p>
<div class="codehilite"><pre><span></span><span class="kd">private</span><span class="o">:</span>
  <span class="n">typedef</span> <span class="n">vector</span><span class="o">&lt;</span><span class="n">bbox</span><span class="o">&gt;</span> <span class="n">iter_memo_t</span><span class="o">;</span>

<span class="kd">public</span><span class="o">:</span>
  <span class="n">typedef</span> <span class="n">typename</span> <span class="n">iter_memo_t</span><span class="o">::</span><span class="n">const_iterator</span> <span class="n">const_iterator</span><span class="o">;</span>

<span class="kd">private</span><span class="o">:</span>
  <span class="n">mutable</span> <span class="n">iter_memo_t</span> <span class="n">iter_memo</span><span class="o">;</span>

<span class="kd">public</span><span class="o">:</span>
  <span class="n">int</span> <span class="n">setsize</span><span class="o">()</span> <span class="kd">const</span> <span class="o">{</span>
    <span class="n">iter_memo_t</span> <span class="n">im</span><span class="o">;</span>
    <span class="n">serialise</span><span class="o">(</span><span class="n">im</span><span class="o">);</span>
    <span class="k">return</span> <span class="n">im</span><span class="o">.</span><span class="na">size</span><span class="o">();</span>
  <span class="o">}</span>
  <span class="n">const_iterator</span> <span class="n">begin</span><span class="o">()</span> <span class="kd">const</span> <span class="o">{</span>
    <span class="n">iter_memo</span><span class="o">.</span><span class="na">clear</span><span class="o">();</span>
    <span class="n">serialise</span><span class="o">(</span><span class="n">iter_memo</span><span class="o">);</span>
    <span class="k">return</span> <span class="n">iter_memo</span><span class="o">.</span><span class="na">begin</span><span class="o">();</span>
  <span class="o">}</span>
  <span class="n">const_iterator</span> <span class="n">end</span><span class="o">()</span> <span class="
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2426/g-10-possibly-miscompiles-parts-of-carpet'>https://bitbucket.org/einsteintoolkit/tickets/issues/2426/g-10-possibly-miscompiles-parts-of-carpet</a></p>
</html>