Size: a a a

2021 December 01

t

ttldtor in codingteam
Visual Studio тут нагло врёт, выставляя __STDC_VERSION = 201112L
источник

t

ttldtor in codingteam
при этом не знает про _Thread_local
источник

t

ttldtor in codingteam
и компилятор gcc 4.8.5 тоже врёт(
источник

t

ttldtor in codingteam
Начиная с 4.9.0, gcc стал понимать _Thread_local только. Возможно, добавили макру
источник

t

ttldtor in codingteam
и clang 3.3
источник

t

ttldtor in codingteam
#ifndef __cplusplus
#  if __STDC_VERSION__ >= 201112L &&                                                                  \
   (!_MSC_VER || (defined(__GNUC__) && (__GNUC__ > 4 || (__GNU__ == 4 && __GNUC_MINOR__ >= 9))) || \
    (defined(__clang_major__) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 3))))
#    define DX_THREAD_LOCAL _Thread_local
#  elif defined(__GNUC__)
#    define DX_THREAD_LOCAL __thread
#  elif defined(_WIN32)
#    define DX_THREAD_LOCAL __declspec(thread)
#  else
#    warning No known thread-local storage specifier
#    define DX_THREAD_LOCAL
#  endif
#endif
источник

t

ttldtor in codingteam
а, не
источник

t

ttldtor in codingteam
так оно будет истинно, если не M$
источник

t

ttldtor in codingteam
ну и лишнее ниже
источник

t

ttldtor in codingteam
теперь я понимаю, почему некоторые господа просто сделали проверку через "компилируемость" кода
источник

FO

FORTRAN ONE LOVE in codingteam
=)
источник

t

ttldtor in codingteam
источник

t

ttldtor in codingteam
так, при этом Intel 16 знает про _Thread_local и мимикрирует под gcc 4.6.4
источник

t

ttldtor in codingteam
под gcc 4.6.4, который не в курсе про _Thread_local
источник

КП

Крылатый Пегас... in codingteam
Кто это? Откуда это?
источник

EE

Ender Eyre in codingteam
Я считаю что это Рамзай
источник

t

ttldtor in codingteam
#ifndef __cplusplus
#  if _MSC_VER && !__INTEL_COMPILER
#    define DX_THREAD_LOCAL __declspec(thread)
#  elif __STDC_VERSION__ >= 201112L &&                                                                          \
   ((defined(__GNUC__) && (__GNUC__ > 4 || (__GNU__ == 4 && __GNUC_MINOR__ >= 9))) ||                        \
    (defined(__clang_major__) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 3))) || \
    (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1600))
#    define DX_THREAD_LOCAL _Thread_local
#  else
#    define DX_THREAD_LOCAL __thread
#  endif
#endif
источник

t

ttldtor in codingteam
НННННННННННННА!
источник

t

ttldtor in codingteam
а остальные маргиналы пусть идут на хрен
источник

f

folex in codingteam
какой странный аскиарт
источник