Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
thread_local is part of C++11, nowadays
[simgrid.git] / include / xbt / base.h
index 53f71a3..e9faa61 100644 (file)
@@ -74,6 +74,8 @@
 #define XBT_ATTRIB_DEPRECATED_v322(mesg) XBT_ATTRIB_DEPRECATED(mesg) /* Will be dropped in v3.22 */
 #define XBT_ATTRIB_DEPRECATED_v323(mesg)                                                                               \
   XBT_ATTRIB_DEPRECATED(mesg " (this compatibility wrapper will be dropped in v3.23)") /* Will be dropped in v3.23 */
+#define XBT_ATTRIB_DEPRECATED_v324(mesg)                                                                               \
+  XBT_ATTRIB_DEPRECATED(mesg " (this compatibility wrapper will be dropped in v3.24)") /* Will be dropped in v3.24 */
 
 #if !defined(__APPLE__)
 #  define XBT_ATTRIB_CONSTRUCTOR(prio) __attribute__((__constructor__(prio)))
 #  define XBT_ATTRIB_DESTRUCTOR(prio) __attribute__((__destructor__))
 #endif
 
-#if defined(__GNUC__)
-#  define XBT_ALWAYS_INLINE inline __attribute__ ((always_inline))
-#else
-#  define XBT_ALWAYS_INLINE inline
-#endif
-
-#if defined(__GNUC__)
-#  define XBT_THREAD_LOCAL __thread
-#else
-#  define XBT_THREAD_LOCAL No thread local on this architecture
+#ifndef XBT_ALWAYS_INLINE /* defined also in libsosp */
+#  if defined(__GNUC__)
+#    define XBT_ALWAYS_INLINE inline __attribute__ ((always_inline))
+#  else
+#    define XBT_ALWAYS_INLINE inline
+#  endif
 #endif
 
 /*