<html>#2512: Enable detection of `attribute(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>proposal</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>Comment (by Roland Haas):</p>
<p>Isn’t that array filled in at the <code>enter_local_mode</code> function and the <code>enter_global_mode</code> function for grid scalars and grid arrays? Which do not (right now, and in the case of <code>enter_global_mode</code> cannot) know which scheduled function in to be run? </p>
<p>The checked macros must not call  <code>CCTK_VarDataPtrI</code> (without the “i”) since that function does not check access (it cannot, since it is called by non-presync aware thorns). <em>Probably</em> this also means that the driver must monitor calls to <code>Driver_RequireValidData</code> et al. if ti sets <code>cctkGH-&gt;data[]</code> to <code>NULL</code> since a scheduled function may call that function to gain access at runtime.</p>
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2512/enable-detection-of-attribute-pure'>https://bitbucket.org/einsteintoolkit/tickets/issues/2512/enable-detection-of-attribute-pure</a></p>
</html>