aboutsummaryrefslogtreecommitdiffstats
path: root/erts/include/internal/ethread.h
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2014-06-25 16:56:55 +0200
committerBjörn-Egil Dahlberg <[email protected]>2014-06-30 14:41:21 +0200
commit50169c34511242987e6f2a047c79a0f7e1b7cfcc (patch)
treeda5ed5ad58448df5750308b7bd3312bf4f13f033 /erts/include/internal/ethread.h
parent461dc05384eece7b4b7d84370fb0a2cf96ed2f6d (diff)
downloadotp-50169c34511242987e6f2a047c79a0f7e1b7cfcc.tar.gz
otp-50169c34511242987e6f2a047c79a0f7e1b7cfcc.tar.bz2
otp-50169c34511242987e6f2a047c79a0f7e1b7cfcc.zip
erts: Separate ethread inlining from ethread.h
The commit adb5dc0090bc419e2c4c1250653badbddeb6263b (ETHR_FORCE_INLINE) broke some platforms without adequate thread support.
Diffstat (limited to 'erts/include/internal/ethread.h')
-rw-r--r--erts/include/internal/ethread.h26
1 files changed, 1 insertions, 25 deletions
diff --git a/erts/include/internal/ethread.h b/erts/include/internal/ethread.h
index 31d19902f5..72c054b588 100644
--- a/erts/include/internal/ethread.h
+++ b/erts/include/internal/ethread.h
@@ -31,6 +31,7 @@
#endif
#include <stdlib.h>
+#include "ethread_inline.h"
#include "erl_errno.h"
#if defined(DEBUG)
@@ -51,31 +52,6 @@
# endif
#endif
-#if !defined(__GNUC__)
-# define ETHR_AT_LEAST_GCC_VSN__(MAJ, MIN, PL) 0
-#elif !defined(__GNUC_MINOR__)
-# define ETHR_AT_LEAST_GCC_VSN__(MAJ, MIN, PL) \
- ((__GNUC__ << 24) >= (((MAJ) << 24) | ((MIN) << 12) | (PL)))
-#elif !defined(__GNUC_PATCHLEVEL__)
-# define ETHR_AT_LEAST_GCC_VSN__(MAJ, MIN, PL) \
- (((__GNUC__ << 24) | (__GNUC_MINOR__ << 12)) >= (((MAJ) << 24) | ((MIN) << 12) | (PL)))
-#else
-# define ETHR_AT_LEAST_GCC_VSN__(MAJ, MIN, PL) \
- (((__GNUC__ << 24) | (__GNUC_MINOR__ << 12) | __GNUC_PATCHLEVEL__) >= (((MAJ) << 24) | ((MIN) << 12) | (PL)))
-#endif
-
-#undef ETHR_INLINE
-#if defined(__GNUC__)
-# define ETHR_INLINE __inline__
-# if ETHR_AT_LEAST_GCC_VSN__(3, 1, 1)
-# define ETHR_FORCE_INLINE __inline__ __attribute__((__always_inline__))
-# else
-# define ETHR_FORCE_INLINE __inline__
-# endif
-#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