Thanks for your input Zameer. Is it common for developers on mac to use XCode as their compilation environment as well? I would think if you used clang on the command line then you could still install an updated version of clang without having to do a system upgrade from Yosemite?
I'm getting the impression that it's reasonable to make this change without a deprecation cycle. Please let me know if you (anyone) disagrees. — *Joris Van Remoortere* Mesosphere On Mon, Dec 19, 2016 at 2:17 PM, Zameer Manji <zma...@apache.org> wrote: > I believe this thread_local support is in XCode 8.2. From the link you > shared: > > > Xcode 8.2 requires a Mac running macOS 10.11.5 or later > > This means that users can upgrade the compiler on El Capitan just fine > without a system upgrade. > > Users on Yosemite need to do a system upgrade to pick up the new compiler > however. > > On Mon, Dec 19, 2016 at 12:33 PM, Joris Van Remoortere < > jo...@mesosphere.io> > wrote: > > > Is my understanding incorrect regarding the ability to upgrade the > compiler > > version on Yosemite and El Capitan without requiring a full system > upgrade? > > > > @Mpark are you making a case for not updating to `thread_local` just yet? > > > > — > > *Joris Van Remoortere* > > Mesosphere > > > > On Fri, Dec 16, 2016 at 11:11 AM, Michael Park <mp...@apache.org> wrote: > > > > > Brief survey from the #dev channel: https://mesos.slack.com/ > > > archives/dev/p1481760285000430 > > > > > > Yosemite 10.10: Fail. Compilation error. (by @hausdorff > > > https://mesos.slack.com/archives/dev/p1481760552000435) > > > El Capitan 10.11: Fail. Compilation error. (by @zhitao > > > https://mesos.slack.com/files/zhitao/F3F7WUCNM/-.diff) > > > Sierra 10.12: Success (by @mpark) > > > > > > On Wed, Dec 14, 2016 at 3:27 PM, Joris Van Remoortere < > > jo...@mesosphere.io > > > > > > > wrote: > > > > > > > The time has come and we finally have `thread_local` support in the > > Apple > > > > tool chain: > > > > https://developer.apple.com/library/content/releasenotes/Dev > > > > eloperTools/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/812e5e3d4e4d9e044a1cfe6 > > > > cc7eaab10efb499b6/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 > > > > > > > > > > > -- > > Zameer Manji > > >