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
> >
>

Reply via email to