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

Reply via email to