aboutsummaryrefslogtreecommitdiffstats
path: root/erts/include/internal/ethread.h
diff options
context:
space:
mode:
authorJani Hakala <[email protected]>2014-02-27 15:23:44 +0200
committerJani Hakala <[email protected]>2014-02-28 11:05:13 +0200
commitadb5dc0090bc419e2c4c1250653badbddeb6263b (patch)
treed7f304279daafc26ec5ed3093614afe1b8851b33 /erts/include/internal/ethread.h
parenta74e66a68f3b4ed590f928b4fd4f0808c6287a32 (diff)
downloadotp-adb5dc0090bc419e2c4c1250653badbddeb6263b.tar.gz
otp-adb5dc0090bc419e2c4c1250653badbddeb6263b.tar.bz2
otp-adb5dc0090bc419e2c4c1250653badbddeb6263b.zip
Add ETHR_FORCE_INLINE define to hide compiler specific directives
Some win32 specific code does not compile with gcc (mingw-w64) since '__forceinline' is not supported by gcc. This can be avoided by defining a new macro ETHR_FORCE_INLINE similar to ETHR_INLINE.
Diffstat (limited to 'erts/include/internal/ethread.h')
-rw-r--r--erts/include/internal/ethread.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/erts/include/internal/ethread.h b/erts/include/internal/ethread.h
index 64f1fae6d8..6f9bc184ef 100644
--- a/erts/include/internal/ethread.h
+++ b/erts/include/internal/ethread.h
@@ -54,13 +54,16 @@
#undef ETHR_INLINE
#if defined(__GNUC__)
# define ETHR_INLINE __inline__
+# define ETHR_FORCE_INLINE __inline__ __attribute__((__always_inline__))
#elif defined(__WIN32__)
# define ETHR_INLINE __forceinline
+# define ETHR_FORCE_INLINE __forceinline
#endif
#if defined(ETHR_DEBUG) || !defined(ETHR_INLINE) || ETHR_XCHK \
|| (defined(__GNUC__) && defined(ERTS_MIXED_CYGWIN_VC))
# undef ETHR_INLINE
# define ETHR_INLINE
+# define ETHR_FORCE_INLINE
# undef ETHR_TRY_INLINE_FUNCS
#endif