summaryrefslogtreecommitdiff
path: root/boost/intrusive/detail/workaround.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/intrusive/detail/workaround.hpp')
-rw-r--r--boost/intrusive/detail/workaround.hpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/boost/intrusive/detail/workaround.hpp b/boost/intrusive/detail/workaround.hpp
index b73f4ef8bf..7a9ac48e0b 100644
--- a/boost/intrusive/detail/workaround.hpp
+++ b/boost/intrusive/detail/workaround.hpp
@@ -34,5 +34,17 @@
#define BOOST_INTRUSIVE_I ,
#define BOOST_INTRUSIVE_DOCIGN(T1) T1
+#define BOOST_INTRUSIVE_DISABLE_FORCEINLINE
+
+#if defined(BOOST_INTRUSIVE_DISABLE_FORCEINLINE)
+ #define BOOST_INTRUSIVE_FORCEINLINE inline
+#elif defined(BOOST_INTRUSIVE_FORCEINLINE_IS_BOOST_FORCELINE)
+ #define BOOST_INTRUSIVE_FORCEINLINE BOOST_FORCEINLINE
+#elif defined(BOOST_MSVC) && defined(_DEBUG)
+ //"__forceinline" and MSVC seems to have some bugs in debug mode
+ #define BOOST_INTRUSIVE_FORCEINLINE inline
+#else
+ #define BOOST_INTRUSIVE_FORCEINLINE BOOST_FORCEINLINE
+#endif
#endif //#ifndef BOOST_INTRUSIVE_DETAIL_WORKAROUND_HPP