diff --git a/src/core/Macros.h b/src/core/Macros.h index 743ad91c37982e200dfdf948afb7100e4526e3d6..ac12f1b7e4994704be60f3fdf902785d689dc3af 100644 --- a/src/core/Macros.h +++ b/src/core/Macros.h @@ -31,6 +31,18 @@ #define WALBERLA_RESTRICT #endif +// forced inline for different compilers +#if defined(__INTEL_COMPILER) +# define WALBERLA_FORCE_INLINE(func) __forceinline func +#elif defined(_MSC_VER) +# define WALBERLA_FORCE_INLINE(func) __forceinline func +#elif defined(__GNUC__) +# define WALBERLA_FORCE_INLINE(func) inline func __attribute__ ((always_inline)) +#else +# pragma message("WARNING: You need to implement WALBERLA_FORCE_INLINE for this compiler!") +# define WALBERLA_FORCE_INLINE(func) inline func +#endif + // pragma in macros (-> https://stackoverflow.com/a/3030312) #ifdef WALBERLA_CXX_COMPILER_IS_MSVC