<html>#1974: Add WVUThorns_Diagnostics to the ET
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Zach Etienne</td></tr>
<tr><td style='text-align:right'>   Status:</td><td>open</td></tr>
<tr><td style='text-align:right'>Milestone:</td><td>ET_2018_08</td></tr>
<tr><td style='text-align:right'>  Version:</td><td>development version</td></tr>
<tr><td style='text-align:right'>     Type:</td><td>enhancement</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>minor</td></tr>
<tr><td style='text-align:right'>Component:</td><td>Other</td></tr>
</table>

<p>Comment (by Roland Haas):</p>
<p><a href="https://bitbucket.org/stevenrbrandt/" rel="nofollow" title="@stevenrbrandt" class="ap-mention mention ap-connect-link" data-atlassian-id="557058:1671c5c3-29cc-4e83-9850-a152d33a6235">@Steven R. Brandt</a>  I think you are correct: in C99 and in C++11 (since it models itslef after C99) "inline" is very close to static inline in that by default no external linkage is visible. However, for historical reasons I assume, Cactus wanted inline to behave in the pre-C99 (GNU) way and we test whether or not this is the case in autoconf and the redfine the inline keyword.</p>
<p>You C++ code seems to have worked on all the systems where the compiler is old enough that by default the C inline statement follows the GNU convention (ie gcc &lt; 5.0).</p>
<p>My current guess why this failed on some systems and worked on others is that on those machines autoconf decided not to change anything which left C++ inline alone (since no inline was redifined) and it thus defaulted to its default behaviour which is <em>not</em> like GNU-C (but like C99). However on new machines autoconf detects that C's default is not what it wants and redefines inline for both C++ and C. </p>
<p>At least this would be my best guess. One would have to inspect cctk_Config.h to see what was actually done.</p>
<p>Zach changes made things work again so all is fine for now. If possible I will try and make a pull request for after the release to have Cactus accept C99's default inline behaviour (since we require C99 anyway).</p>
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/1974/add-wvuthorns_diagnostics-to-the-et'>https://bitbucket.org/einsteintoolkit/tickets/issues/1974/add-wvuthorns_diagnostics-to-the-et</a></p>
</html>