From c18a72e10223dfc3860f12dbff88ae21017c2efe Mon Sep 17 00:00:00 2001
From: Sebastian Eibl <sebastian.eibl@fau.de>
Date: Fri, 2 Nov 2018 14:43:37 +0100
Subject: [PATCH] added WALBERLA_FORCE_INLINE macro

---
 src/core/Macros.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/core/Macros.h b/src/core/Macros.h
index 743ad91c3..ac12f1b7e 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
-- 
GitLab