diff --git a/include/tlibc/std.h b/include/tlibc/std.h index f58fc33..44cd111 100755 --- a/include/tlibc/std.h +++ b/include/tlibc/std.h @@ -84,6 +84,16 @@ typedef const char* cstr; #define ATTRIBUTE_CHECK_FORMAT_PRINTF(FMT_ARG_INDEX, VARIADIC_ARGS_INDEX) \ __attribute__((__format__(__printf__, FMT_ARG_INDEX, VARIADIC_ARGS_INDEX))) +// taken from libtoml +#if defined(__cplusplus) && __cplusplus >= 201103L + #define ATTRIBUTE_THREAD_LOCAL thread_local +#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L + #define ATTRIBUTE_THREAD_LOCAL _Thread_local +#elif defined(_MSC_VER) + #define ATTRIBUTE_THREAD_LOCAL __declspec(thread) +#else + #define ATTRIBUTE_THREAD_LOCAL __thread +#endif #if __cplusplus }