#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