9

As shown in this answer, clang from Xcode on Mac OSX does not support thread_local storage even with C++11 flags set. Even on the latest version, Apple LLVM version 7.0.0 (clang-700.1.76), Target: x86_64-apple-darwin15.0.0, Thread model: posix, does not support thread_local:

../../src/dir/sysArch.h:1505:3: error: thread-local storage is not supported
                                       for the current target
  thread_local
  ^
Community
  • 1
  • 1
WilliamKF
  • 41,123
  • 68
  • 193
  • 295
  • You could use the open source version of clang instead? I am facing the same problem. In late 2016. – Calchas Sep 15 '16 at 17:52

2 Answers2

4

The version of clang supplied with Xcode 8 (and later) supports the thread_local keyword; see the discussion here.

Community
  • 1
  • 1
rsfinn
  • 1,073
  • 14
  • 26
1

You can use the old method of using pthread_getspecific() etc. to implement thread-local storage (or in Objective-C the NSThread's thread dictionary) if thread_local is not available in your compiler version.

uliwitness
  • 8,532
  • 36
  • 58