Joris, I don't have a strong stance here. I was just providing a data point of what people may experience out of the box.
Am I correct in understanding the following implications? - 10.10 would require brew-installed clang to work - 10.11 would require a Xcode upgrade - 10.12 would work out of the box On Mon, Dec 19, 2016 at 6:27 PM, James Peach <jor...@gmail.com> wrote: > > > On Dec 19, 2016, at 3:00 PM, Joris Van Remoortere <jo...@mesosphere.io> > wrote: > > > > 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? > > Xcode provides both the integrated development environment (typically not > used with Mesos) and one or more toolchains and SDKs (used by Mesos). > Whether the modern toolchain can be used with an older release depends on > whether the Xcode release is considered supported on that release. > > > > > 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 > >>> > >> > >