Skip to content

Replace libc assertions by Peano assertions

LibC assertions are always checked, unless NDEBUG is set (we never do that). Instead, we have Peano assertions. tarch/Assertions.h also defines the assert macro (so one cannot exactly know which one is called, if one is not picky about the include file ordering). For safety, always use Peanos assert1 in a one-parametric assertion.

An instance for a wrong use is the current master minmod function: https://gitlab.lrz.de/exahype/ExaHyPE-Engine/blob/master/ExaHyPE/kernels/finitevolumes/musclhancock/c/3d/musclhancock.cpph#L28

It is easy to search other occurances of wrong assertion uses.

The overall idea is that in Release mode, such assertions are not checked, especially not on hot paths such as the scalar minmod function in the given example.