<html>#2511: `CCTKi_VarDataPtrI` should not be declared `pure`
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Erik Schnetter</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>development version</td></tr>
<tr><td style='text-align:right'>     Type:</td><td>bug</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>minor</td></tr>
<tr><td style='text-align:right'>Component:</td><td>Cactus</td></tr>
</table>

<p>This declaration in <code>cctki_GroupsOnGH.h</code> is wrong; it should not have the <code>pure</code> attribute:</p>
<div class="codehilite language-c"><pre><span></span><span class="kt">void</span> <span class="o">*</span><span class="nf">CCTKi_VarDataPtrI</span><span class="p">(</span><span class="k">const</span> <span class="n">cGH</span> <span class="o">*</span><span class="n">GH</span><span class="p">,</span> <span class="kt">int</span> <span class="n">timelevel</span><span class="p">,</span> <span class="kt">int</span> <span class="n">varindex</span><span class="p">)</span> <span class="n">CCTK_ATTRIBUTE_PURE</span><span class="p">;</span>
</pre></div>


<p>This function checks whether the caller has access to that grid variable and returns <code>NULL</code> if not. It does not always return the same pointer.</p>
<p>Also, the variable pointer changes over time if the driver reallocates storage.</p>
<p>‌</p>
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2511/cctki_vardataptri-should-not-be-declared'>https://bitbucket.org/einsteintoolkit/tickets/issues/2511/cctki_vardataptri-should-not-be-declared</a></p>
</html>