<html>#2571: runtime failure due to useing character*8 in DECLARE_CCTK_ARGUMENTS_CHECKED macro
<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>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>major</td></tr>
<tr><td style='text-align:right'>Component:</td><td>Cactus</td></tr>
</table>

<p>Comment (by Roland Haas):</p>
<p>We are using <code>characTer*8, intent(IN) :: dtbetax_p</code> for grid functions that are neither read nor written by a scheduled function that is that should not even be accessible. Since there is only a single C to Fortran wrapper per thorn, they are still being passed to the Fortran subroutine but we want to make sure that the compiler aborts with an error if the code actually tries to access it. </p>
<p>Declaring it as a nonsensical type achieves that since the compiler will not let you assign a real or integer number to a <code>charcater*8</code>. We can only use <code>character*(*)</code> if that does not add an extra integer “length of string” to the end of the argument list. </p>
<p>We may however have to do something like:</p>
<div class="codehilite"><pre><span></span><span>CCTK_REAL :: dtbetax_p</span>
<span>integer, parameter :: cctki_use_dtbetax_p = kind(dtbetax_p)</span>
<span>#define dtbetax_p dtbetax_p_IS_NOT_ACCESSIBLE</span>
</pre></div>


<p>‌</p>
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2571/runtime-failure-due-to-useing-character-8'>https://bitbucket.org/einsteintoolkit/tickets/issues/2571/runtime-failure-due-to-useing-character-8</a></p>
</html>