Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
rename operation to task. rename execute to fire.
[simgrid.git] / include / xbt / base.h
index 6f4c6b67bb19b2485f5897c0cab869ce1e4971a2..d39a948903987128b7b20bd98e998f39e43b9fab 100644 (file)
 #  define XBT_ATTRIB_DESTRUCTOR(prio) __attribute__((__destructor__))
 #endif
 
-#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
+#define XBT_ATTRIB_NOINLINE __attribute__((noinline))
+
+#if defined(__GNUC__)
+#define XBT_ALWAYS_INLINE inline __attribute__((always_inline))
+#else
+#define XBT_ALWAYS_INLINE inline
 #endif
 
 /* Stringify argument. */
 #define _XBT_STRINGIFY_A_22_(a, ...) #a, _XBT_IF_ONE_ARG(_XBT_STRINGIFY, _XBT_STRINGIFY_A_23_, __VA_ARGS__)(__VA_ARGS__)
 #define _XBT_STRINGIFY_A_23_(a, ...) #a, _XBT_IF_ONE_ARG(_XBT_STRINGIFY, _XBT_STRINGIFY_A_24_, __VA_ARGS__)(__VA_ARGS__)
 #define _XBT_STRINGIFY_A_24_(a, ...) #a, _XBT_IF_ONE_ARG(_XBT_STRINGIFY, _XBT_STRINGIFY_A_25_, __VA_ARGS__)(__VA_ARGS__)
-#define _XBT_STRINGIFY_A_25_(...) error_maximum_size_of_XBT_STRINGIFY_ARGS_reached
+#define _XBT_STRINGIFY_A_25_(a, ...) #a, _XBT_IF_ONE_ARG(_XBT_STRINGIFY, _XBT_STRINGIFY_A_26_, __VA_ARGS__)(__VA_ARGS__)
+#define _XBT_STRINGIFY_A_26_(a, ...) #a, _XBT_IF_ONE_ARG(_XBT_STRINGIFY, _XBT_STRINGIFY_A_27_, __VA_ARGS__)(__VA_ARGS__)
+#define _XBT_STRINGIFY_A_27_(a, ...) #a, _XBT_IF_ONE_ARG(_XBT_STRINGIFY, _XBT_STRINGIFY_A_28_, __VA_ARGS__)(__VA_ARGS__)
+#define _XBT_STRINGIFY_A_28_(a, ...) #a, _XBT_IF_ONE_ARG(_XBT_STRINGIFY, _XBT_STRINGIFY_A_29_, __VA_ARGS__)(__VA_ARGS__)
+#define _XBT_STRINGIFY_A_29_(a, ...) #a, _XBT_IF_ONE_ARG(_XBT_STRINGIFY, _XBT_STRINGIFY_A_30_, __VA_ARGS__)(__VA_ARGS__)
+#define _XBT_STRINGIFY_A_30_(...) error_maximum_size_of_XBT_STRINGIFY_ARGS_reached
 
 /* Rationale of XBT_PUBLIC:
  *   * This is for library symbols visible from the application-land.