<html>#2351: rdwr.pl accepts inconsistent read / write statements for a function scheduled multiple times
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td></td></tr>
<tr><td style='text-align:right'> Status:</td><td>wontfix</td></tr>
<tr><td style='text-align:right'>Milestone:</td><td>ET_2020_05</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>minor</td></tr>
<tr><td style='text-align:right'>Component:</td><td>Cactus</td></tr>
</table>
<p>Changes (by Roland Haas):</p>
<p><table>
<tr><td>status:</td><td>wontfix (was new)</td></tr>
</table></p>
<p>Comment (by Roland Haas):</p>
<p>After some (offline) discussion with <span class="ap-mention" data-atlassian-id="557058:1671c5c3-29cc-4e83-9850-a152d33a6235">@Steven R. Brandt</span> and some thinking about this, it turns out that <code>rdwr.pl</code> must accept inconsistent read / write statements and, since there is only one <code>DECLARE_CCTK_ARGUMENTS_Foo</code> per function <code>Foo</code>, the generated macro must use the union of the read / write statements. </p>
<p>This is because there can be (will be most likely) <code>schedule.ccl</code> that look like so:</p>
<div class="codehilite"><pre><span></span>if(evolve_Y_e) {
schedule GRHydro_Con2Prim
{
READ: rho Y_e
}
} else {
schedule GRHydro_Con2Prim
{
READ: rho
}
}
</pre></div>
<p>for codes where the state vector depends on runtime parameters.</p>
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2351/rdwrpl-accepts-inconsistent-read-write'>https://bitbucket.org/einsteintoolkit/tickets/issues/2351/rdwrpl-accepts-inconsistent-read-write</a></p>
</html>