<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>