summaryrefslogtreecommitdiffstats
path: root/src/util
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2017-05-08 08:01:05 +1000
committerTimothy Arceri <[email protected]>2017-05-09 11:21:03 +1000
commit34c5e58a6816ecfe9f944f5cf921261648324728 (patch)
treed371ce0dfca0d46b4a0174a73ca4ba0fdede5ead /src/util
parentf52e63069a3fad23e03d42306a42bd20f0159da3 (diff)
util: move ALWAYS_INLINE macro to util/macro.h
Also added clang check. macro.h is include by p_compiler.h so no other change is needed. Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/util')
-rw-r--r--src/util/macros.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/util/macros.h b/src/util/macros.h
index 6f55ac667dd..a10f1de8145 100644
--- a/src/util/macros.h
+++ b/src/util/macros.h
@@ -136,6 +136,17 @@ do { \
#define MALLOCLIKE
#endif
+/* Forced function inlining */
+#ifndef ALWAYS_INLINE
+# if defined(__GNUC__) || defined(__clang__)
+# define ALWAYS_INLINE inline __attribute__((always_inline))
+# elif defined(_MSC_VER)
+# define ALWAYS_INLINE __forceinline
+# else
+# define ALWAYS_INLINE inline
+# endif
+#endif
+
/* Used to optionally mark structures with misaligned elements or size as
* packed, to trade off performance for space.
*/