+1 2016-12-15 7:27 GMT+08:00 Joris Van Remoortere <jo...@mesosphere.io>:
> The time has come and we finally have `thread_local` support in the Apple > tool chain: > https://developer.apple.com/library/content/releasenotes/ > DeveloperTools/RN-Xcode/Introduction.html > > In our code base we have a special exception for Apple that defines our > thread local to be `__thread` rather than the c++11 standard > `thread_local`. > https://github.com/apache/mesos/blob/812e5e3d4e4d9e044a1cfe6cc7eaab > 10efb499b6/3rdparty/stout/include/stout/thread_local.hpp > > A consequence of using `__thread` on Apple is that initializers for thread > locals are required to be constant expressions. This is not the case for > the c++11 standard `thread_local`. > > I would like to propose that we remove this exception on the Apple platform > now that the Apple toolchain supports the c++11 standard. > > As I am not a common user of the Apple development experience I would like > to ask for some input from the community as to whether requiring this > toolchain update is acceptable, and if we need a deprecation period or if > we can just make this change now. > > I am leaning towards no deprecation period as I am not aware of production > environments running on systems that define `__APPLE__`. > — > *Joris Van Remoortere* > Mesosphere > -- Deshi Xiao Twitter: xds2000 E-mail: xiaods(AT)gmail.com