8

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
  • 38,693
  • 65
  • 183
  • 286
  • 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

3

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

Community
  • 1
  • 1
rsfinn
  • 1,053
  • 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,163
  • 35
  • 52