<html>#2363: make cctk_Loop.h work in Fortran even if an ANSI C preprocessor is used
<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></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><code>cctk_Loop.h</code> used constructs like</p>
<div class="codehilite"><pre><span></span>#define FOO(x) cctk_loop_/**/x
</pre></div>


<p>to concatenate identifier names. This only works when using <code>cpp --traditional</code> but not for an ANSI C preprocessor that requires</p>
<div class="codehilite"><pre><span></span>#define FOO(x) cctk_loop ## x
</pre></div>


<p>Cactus’s old header files in <code>cctk_Types.h</code> support both options via an ifdef.</p>
<p>All current option lists use <code>cpp --traditional</code> for <code>FPP</code> and Cactus’s <code>linux</code> built in architecture file does the same, and <code>cctk_Loop.h</code> is (as of 2020-04-03) broken for other reasons (see <a data-is-external-link="true" href="http://lists.einsteintoolkit.org/pipermail/users/2020-February/007298.html" rel="nofollow">http://lists.einsteintoolkit.org/pipermail/users/2020-February/007298.html</a>) so this issue has not yet show up.</p>
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2363/make-cctk_looph-work-in-fortran-even-if-an'>https://bitbucket.org/einsteintoolkit/tickets/issues/2363/make-cctk_looph-work-in-fortran-even-if-an</a></p>
</html>