diff --git a/include/mujoco/mjsan.h b/include/mujoco/mjsan.h index 4d45997bb0..45641d8f1f 100644 --- a/include/mujoco/mjsan.h +++ b/include/mujoco/mjsan.h @@ -37,14 +37,16 @@ extern "C" { #endif void mj__markStack(mjData*) __attribute__((noinline)); -static inline void mj_markStack(mjData* d) __attribute__((always_inline)) { +static void mj_markStack(mjData* d) __attribute__((always_inline)); +static inline void mj_markStack(mjData* d) { asm volatile("" ::: "memory"); mj__markStack(d); asm volatile("" ::: "memory"); } void mj__freeStack(mjData*) __attribute__((noinline)); -static inline void mj_freeStack(mjData* d) __attribute__((always_inline)) { +static void mj_freeStack(mjData* d) __attribute__((always_inline)); +static inline void mj_freeStack(mjData* d) { asm volatile("" ::: "memory"); mj__freeStack(d); asm volatile("" ::: "memory");