#pragma once #include #define YT_PREVENT_TLS_CACHING Y_NO_INLINE // Workaround for fiber (un)friendly TLS. #define YT_DECLARE_THREAD_LOCAL(type, name) \ type& name(); #define YT_DEFINE_THREAD_LOCAL(type, name, ...) \ thread_local type name##Data { __VA_ARGS__ }; \ Y_NO_INLINE type& name() \ { \ asm volatile(""); \ return name##Data; \ }