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

Reply via email to