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/812e5e3d4e4d9e044a1cfe6cc7eaab10efb499b6/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