#1974: Add WVUThorns_Diagnostics to the ET
Reporter:Zach Etienne
Status:open
Milestone:ET_2018_08
Version:development version
Type:enhancement
Priority:minor
Component:Other

Comment (by Roland Haas):

@Steven R. Brandt 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.

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 < 5.0).

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

At least this would be my best guess. One would have to inspect cctk_Config.h to see what was actually done.

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

--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/1974/add-wvuthorns_diagnostics-to-the-et