<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Just to chime in here in support of
what Chandler said...<br>
<br>
Moving to gcc 5.0+ is a challenge for us. We're nearly at the
point of being able to do so, but it's not trivial by any means.
Any no, we don't build any of the major browsers with the compiler
used for the build in question... :)<br>
<br>
Philip<br>
<br>
On 05/10/2018 02:27 PM, Chandler Carruth via llvm-dev wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAGCO0KjYriijiS6bSFtTwu5BvwB56B6HuZFCuf15Q8bE==gfVQ@mail.gmail.com">
<div dir="ltr">
<div class="gmail_quote">
<div dir="ltr">On Thu, May 10, 2018 at 3:06 PM JF Bastien <<a
href="mailto:jfbastien@apple.com" moz-do-not-send="true">jfbastien@apple.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div
style="word-wrap:break-word;line-break:after-white-space">
<div>
<blockquote type="cite">
<div>On May 10, 2018, at 1:50 PM, Chandler Carruth
<<a href="mailto:chandlerc@google.com"
target="_blank" moz-do-not-send="true">chandlerc@google.com</a>>
wrote:</div>
<br
class="m_-4354436533182372363Apple-interchange-newline">
<div>
<div dir="ltr">Last time this came up, there were a
lot of people that were stuck on GCC 4.9 due to
ABI reasons. I think forcing that upgrade is going
to be the most disruptive part of this, and I
think that will really need a decent amount of
time. =[</div>
</div>
</blockquote>
<div><br>
</div>
</div>
</div>
<div
style="word-wrap:break-word;line-break:after-white-space">
<div>
<div>Those people don’t build a browser? Because if they
build any one of the 3 major ones they’re not using
GCC 4.9 AFAICT.</div>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>Probably not anywhere near the "trunk" of any of these
browsers.</div>
<div><br>
</div>
<div>But while I know that browsers are pretty big, they are
*not* primarily libraries. So their users very often don't
need to compile them.</div>
<div><br>
</div>
<div>LLVM on the other hand is a library primarily, and so
users of LLVM actually rely on being able to compile LLVM.</div>
<div><br>
</div>
<div>LLVM also has users on embedded platforms and other
environments where browsers may not be prominent.</div>
<div><br>
</div>
<div>Anyways, my point is just that the browsers moving to
C++14 is a good sign, but I don't think it is sufficient to
say that we can just flip the switch.</div>
<div><br>
</div>
<div>-Chandler</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div
style="word-wrap:break-word;line-break:after-white-space">
<div>
<div><br>
</div>
<br>
<blockquote type="cite">
<div>
<div class="gmail_quote">
<div dir="ltr">On Thu, May 10, 2018 at 2:26 PM JF
Bastien via llvm-dev <<a
href="mailto:llvm-dev@lists.llvm.org"
target="_blank" moz-do-not-send="true">llvm-dev@lists.llvm.org</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0
0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div
style="word-wrap:break-word;line-break:after-white-space">
<div><br>
<blockquote type="cite">
<div>On May 10, 2018, at 12:25 PM, Evgeny
Astigeevich via llvm-dev <<a
href="mailto:llvm-dev@lists.llvm.org"
target="_blank" moz-do-not-send="true">llvm-dev@lists.llvm.org</a>>
wrote:</div>
<br
class="m_-4354436533182372363m_1966951477189470441Apple-interchange-newline">
<div>
<div
class="m_-4354436533182372363m_1966951477189470441WordSection1"
style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">
<div style="margin:0cm 0cm
0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">Hi,</div>
<div style="margin:0cm 0cm
0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
<div style="margin:0cm 0cm
0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">IMHO,
it’s a good idea to move to C++14
first.</div>
<div style="margin:0cm 0cm
0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
<div style="margin:0cm 0cm
0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">What
do you think about doing this by two
phases:</div>
<div style="margin:0cm 0cm
0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
<div style="margin:0cm 0cm
0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">Phase1:
require GCC >= 5 but build in
C++11 mode (this will give time to
adapt build infrastructure to a new
gcc)</div>
<div style="margin:0cm 0cm
0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">Phase2:
switch to C++14</div>
</div>
</div>
</blockquote>
<div><br>
</div>
</div>
</div>
<div
style="word-wrap:break-word;line-break:after-white-space">
<div>
<div>Sounds reasonable, here’s a patch:</div>
<div>
<div
style="margin:0px;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;background-color:rgb(255,255,255)"><span
style="text-decoration:underline;font-variant-ligatures:no-common-ligatures"><a
href="https://reviews.llvm.org/D46723" target="_blank"
moz-do-not-send="true">https://reviews.llvm.org/D46723</a></span></div>
<div
style="margin:0px;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;background-color:rgb(255,255,255)"><span
style="text-decoration:underline;font-variant-ligatures:no-common-ligatures"><br>
</span></div>
</div>
</div>
</div>
<div
style="word-wrap:break-word;line-break:after-white-space">
<div><br>
<blockquote type="cite">
<div>
<div
class="m_-4354436533182372363m_1966951477189470441WordSection1"
style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">
<div style="margin:0cm 0cm
0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">Thanks,</div>
<div style="margin:0cm 0cm
0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">Evgeny</div>
<div style="margin:0cm 0cm
0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
<div style="margin:0cm 0cm
0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
<div style="margin:0cm 0cm
0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
<div style="border-style:solid none
none;border-top-width:1pt;border-top-color:rgb(181,196,223);padding:3pt
0cm 0cm">
<div style="margin:0cm 0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"><b><span
style="font-size:12pt">From:<span
class="m_-4354436533182372363m_1966951477189470441Apple-converted-space"> </span></span></b><span
style="font-size:12pt">llvm-dev
<<a
href="mailto:llvm-dev-bounces@lists.llvm.org"
style="color:purple;text-decoration:underline" target="_blank"
moz-do-not-send="true">llvm-dev-bounces@lists.llvm.org</a>>
on behalf of Reid Kleckner via
llvm-dev <<a
href="mailto:llvm-dev@lists.llvm.org"
style="color:purple;text-decoration:underline" target="_blank"
moz-do-not-send="true">llvm-dev@lists.llvm.org</a>><br>
<b>Reply-To:<span
class="m_-4354436533182372363m_1966951477189470441Apple-converted-space"> </span></b>Reid
Kleckner <<a
href="mailto:rnk@google.com"
style="color:purple;text-decoration:underline"
target="_blank"
moz-do-not-send="true">rnk@google.com</a>><br>
<b>Date:<span
class="m_-4354436533182372363m_1966951477189470441Apple-converted-space"> </span></b>Thursday,
10 May 2018 at 19:50<br>
<b>To:<span
class="m_-4354436533182372363m_1966951477189470441Apple-converted-space"> </span></b>Zachary
Turner <<a
href="mailto:zturner@google.com"
style="color:purple;text-decoration:underline" target="_blank"
moz-do-not-send="true">zturner@google.com</a>><br>
<b>Cc:<span
class="m_-4354436533182372363m_1966951477189470441Apple-converted-space"> </span></b>llvm-dev
<<a
href="mailto:llvm-dev@lists.llvm.org"
style="color:purple;text-decoration:underline" target="_blank"
moz-do-not-send="true">llvm-dev@lists.llvm.org</a>><br>
<b>Subject:<span
class="m_-4354436533182372363m_1966951477189470441Apple-converted-space"> </span></b>Re:
[llvm-dev] Using C++14 code in
LLVM</span></div>
</div>
<div>
<div style="margin:0cm 0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div style="margin:0cm 0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">The easy way not to
have a three year discussion is to
not worry about it for another
three years. :)</div>
<div>
<div style="margin:0cm 0cm
0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div style="margin:0cm 0cm
0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">So,
I think we should take the easy
things on the table and just
move to C++14 in the near
future. It's just a matter of
dropping support for building on
distros that only have GCC <5
(aka Trusty, which is from 2014
itself). Let's do that and call
it a day.</div>
</div>
<div>
<div style="margin:0cm 0cm
0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div style="margin:0cm 0cm
0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">---</div>
</div>
<div>
<div style="margin:0cm 0cm
0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">Aside:
I'm always kind of amused by
talk of moving to the next
"standard version" when the
reality is that every C++
project is always held back by
the compilers and standard
libraries that they actually use
in practice. We say LLVM
requires C++11 which mandates a
working set of threading
primitives, but in practice
those don't exist on some
platforms that people would like
us to support, so we end up
maintaining the
LLVM_ENABLE_THREADING=0 build
for them.</div>
</div>
<div>
<div style="margin:0cm 0cm
0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div style="margin:0cm 0cm
0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">It
seems more practical to simply
list the minimum versions of
supported toolchains that are
commonly used to build, i.e. GCC
5, MSVC 2015, Clang 3.N, libc++
3.N, libstdc++ 3.N, etc.</div>
</div>
</div>
<div style="margin:0cm 0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
<div>
<div>
<div style="margin:0cm 0cm
0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">On
Thu, May 10, 2018 at 11:36 AM
Zachary Turner via llvm-dev <<a
href="mailto:llvm-dev@lists.llvm.org"
style="color:purple;text-decoration:underline"
target="_blank"
moz-do-not-send="true">llvm-dev@lists.llvm.org</a>>
wrote:</div>
</div>
<blockquote style="border-style:none
none none
solid;border-left-width:1pt;border-left-color:rgb(204,204,204);padding:0cm
0cm 0cm
6pt;margin-left:4.8pt;margin-right:0cm"
type="cite">
<div>
<div style="margin:0cm 0cm
0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">If
it's the only thing we can
agree then I'll take it, but I
just worry that 3 years from
now we're going to start
another 3 year discussion, so
that any actual move to C++17
would end up taking double the
time.</div>
<div>
<div style="margin:0cm 0cm
0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div style="margin:0cm 0cm
0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">Are
the issues specific to C++17
additions to the standard
library? What if you allow
C++17 language features but
not C++17 library features?
I'm guessing this is too
simple though and isn't
sufficient to avoid the
problems (which I don't know
anything about, so you'll
have to enlighten me)?</div>
</div>
</div>
<div style="margin:0cm 0cm
0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
<div>
<div>
<div style="margin:0cm 0cm
0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">On
Thu, May 10, 2018 at 11:28
AM JF Bastien <<a
href="mailto:jfbastien@apple.com"
style="color:purple;text-decoration:underline" target="_blank"
moz-do-not-send="true">jfbastien@apple.com</a>>
wrote:</div>
</div>
<blockquote
style="border-style:none none
none
solid;border-left-width:1pt;border-left-color:rgb(204,204,204);padding:0cm
0cm 0cm
6pt;margin-left:4.8pt;margin-right:0cm"
type="cite">
<div>
<div>
<div style="margin:0cm 0cm
0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"><br>
<br>
</div>
<blockquote
style="margin-top:5pt;margin-bottom:5pt"
type="cite">
<div>
<div style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">On
May 10, 2018, at
11:22 AM, Zachary
Turner <<a
href="mailto:zturner@google.com"
style="color:purple;text-decoration:underline" target="_blank"
moz-do-not-send="true">zturner@google.com</a>>
wrote:</div>
</div>
<div style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
<div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">Windows
has never been the
issue. Honestly,
MSVC on Windows is
"fully C++17
conformant" [1].</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">The
issue has and
always will be
GCC. Given that
a bump in any
version of GCC
has been (and
will remain)
difficult for
some time, I
propose that we
skip C++14 and
move to 17. We
don't want to
have a
multi-year
disccusion about
this again any
time soon, and
from what I
gather, nobody
has any more
reservations
about moving to
C++17 than they
do about moving
to C++14. They
only have
reservations
about moving to
anything at
all. So if
we're gonna
move, we should
go all the way.</div>
</div>
</div>
</div>
</blockquote>
<div>
<div style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
</div>
</div>
<div>
<div>
<div>
<div style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">WebKit’s
move to C++17 hasn’t
been super smooth
because of GCC /
libstdc++ issues in
both GCC 6 and GCC 7.
It’s all fixable, but
given LLVM's slow move
out of C++11 I’d
rather get C++14 now
rather than a painful
transition to C++17
that drags on as we
discover issues.</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div style="margin:0cm 0cm
0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"><br>
<br>
</div>
<blockquote
style="margin-top:5pt;margin-bottom:5pt"
type="cite">
<div>
<div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">Just
my 2c.</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">[1]<span
class="m_-4354436533182372363m_1966951477189470441Apple-converted-space"> </span><a
href="https://blogs.msdn.microsoft.com/vcblog/2018/05/07/announcing-msvc-conforms-to-the-c-standard/"
style="color:purple;text-decoration:underline" target="_blank"
moz-do-not-send="true">https://blogs.msdn.microsoft.com/vcblog/2018/05/07/announcing-msvc-conforms-to-the-c-standard/</a></div>
</div>
</div>
</div>
<div style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
<div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">On
Thu, May 10,
2018 at 11:18 AM
Eric Christopher
<<a
href="mailto:echristo@gmail.com"
style="color:purple;text-decoration:underline" target="_blank"
moz-do-not-send="true">echristo@gmail.com</a>>
wrote:</div>
</div>
<blockquote
style="border-style:none
none none
solid;border-left-width:1pt;border-left-color:rgb(204,204,204);padding:0cm
0cm 0cm
6pt;margin-left:4.8pt;margin-right:0cm"
type="cite">
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">Once
again, I'm
totally down
for this and
think we
should do it.
I worry about
windows, but
...</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">Zach:
How's windows
c++14 support
looking?</div>
</div>
</div>
<div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">-eric</div>
</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
<div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">On
Thu, May 10,
2018 at 10:01
AM JF Bastien
via llvm-dev
<<a
href="mailto:llvm-dev@lists.llvm.org"
style="color:purple;text-decoration:underline" target="_blank"
moz-do-not-send="true">llvm-dev@lists.llvm.org</a>>
wrote:</div>
</div>
<blockquote
style="border-style:none
none none
solid;border-left-width:1pt;border-left-color:rgb(204,204,204);padding:0cm
0cm 0cm
6pt;margin-left:4.8pt;margin-right:0cm"
type="cite">
<div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">Hi
folks!</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">Six
more months
have come and
gone, and
maybe we could
move LLVM to
C++14 now?</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">The
issues I
picked out
from the last
discussion:</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
72pt;font-size:11pt;font-family:Calibri,sans-serif"><span>1.<span
style="font-style:normal;font-variant-caps:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times
New
Roman""> <span
class="m_-4354436533182372363m_1966951477189470441Apple-converted-space"> </span></span></span>Some
folks want an
official
policy about
compiler
support before
updating the
standard
version we
use.</div>
<div
style="margin:0cm
0cm 0.0001pt
72pt;font-size:11pt;font-family:Calibri,sans-serif"><span>2.<span
style="font-style:normal;font-variant-caps:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times
New
Roman""> <span
class="m_-4354436533182372363m_1966951477189470441Apple-converted-space"> </span></span></span>Worries
about which
GCC version is
available in
which distro.</div>
<div
style="margin:0cm
0cm 0.0001pt
72pt;font-size:11pt;font-family:Calibri,sans-serif"><span>3.<span
style="font-style:normal;font-variant-caps:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times
New
Roman""> <span
class="m_-4354436533182372363m_1966951477189470441Apple-converted-space"> </span></span></span>Worries
about MSVC.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">Instead
of rehashing
the compiler
per distro
surveys from
previous
discussion,
and instead of
talking
bootstrap, let
me offer three
data points:</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
72pt;font-size:11pt;font-family:Calibri,sans-serif"><span
style="font-size:10pt;font-family:Symbol"><span>·<span
style="font-style:normal;font-variant-caps:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times
New
Roman""> <span
class="m_-4354436533182372363m_1966951477189470441Apple-converted-space"> </span></span></span></span>WebKit
is <a
href="https://lists.webkit.org/pipermail/webkit-dev/2018-March/029922.html"
style="color:purple;text-decoration:underline" target="_blank"
moz-do-not-send="true">moving
to C++17</a> (from
C++14) right
now †</div>
<div
style="margin:0cm
0cm 0.0001pt
72pt;font-size:11pt;font-family:Calibri,sans-serif"><span
style="font-size:10pt;font-family:Symbol"><span>·<span
style="font-style:normal;font-variant-caps:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times
New
Roman""> <span
class="m_-4354436533182372363m_1966951477189470441Apple-converted-space"> </span></span></span></span>Chromium <a
href="https://groups.google.com/a/chromium.org/d/msg/cxx/ow7hmdDm4yw/eV6KWL2yAQAJ"
style="color:purple;text-decoration:underline" target="_blank"
moz-do-not-send="true">started
moving to
C++14</a> in
August of last
year</div>
<div
style="margin:0cm
0cm 0.0001pt
72pt;font-size:11pt;font-family:Calibri,sans-serif"><span
style="font-size:10pt;font-family:Symbol"><span>·<span
style="font-style:normal;font-variant-caps:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times
New
Roman""> <span
class="m_-4354436533182372363m_1966951477189470441Apple-converted-space"> </span></span></span></span>Firefox
uses <a
href="https://developer.mozilla.org/en-US/docs/Mozilla/Using_CXX_in_Mozilla_code"
style="color:purple;text-decoration:underline" target="_blank"
moz-do-not-send="true">some
C++14</a></div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">What
I get from
this data: if
your distro
bundles a
modern web
browser, it
already builds
some C++14,<span
class="m_-4354436533182372363m_1966951477189470441Apple-converted-space"> </span><i>somehow</i>.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">The
LLVM community
has been
talking about
this for a
while now, and
I’m not aware
of a policy
coming to
light. I don’t
think we need
a policy given
the above
data. So how
about we… just
kinda... move
LLVM to C++14?</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">Thanks!</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">JF</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">†
the move to
C++17 is very
painful, but
14 has been
working great
in WebKit for
quite a long
time.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif"> </div>
</div>
<div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
Last time we
discussed
this, the
consensus was
"I think we
can survive</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
another year
without
generalized
constexpr and
variable
templates".</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
Well, we did
indeed
survive. And
it's been
exactly a
year! So
naturally,</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
it only makes
sense to
revive this :)</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
There's an
active
conversation
going on in
IRC right now,
and it seems
like</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
there is more
desire than
there was last
year.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
What are the
main gains
from allowing
C++14?</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
* Variable
templates</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
* Generalized
constexpr</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
* Return-type
Deduction</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
* Generic
Lambdas</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
*
std::make_unique<>
(the source of
many build bot
breakages)</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
What are the
main gains
from allowing
C++17? [1]</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
*
[[nodiscard]]
attribute</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
* structured
bindings</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
* constexpr-if</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
* guaranteed
copy elision</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
* numerous new
library types:
optional,
string_view,
variant, byte,</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
* numerous new
algorithms:
parallel
algorithms,
too many to
list</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
* Probably
some more, but
I just tried
to hit the
biggest ones.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
First, it
seems like if
we want to
enable C++14
we need GCC
>= 5.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
And if we want
to enable
C++17 we need
GCC >= 7.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
With that out
of the way,
here were some
of the issues
that were
raised</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
last time:</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
Issue: Ubuntu
14.04 LTS is
on GCC 4.8.x,
and we have to
support it
until</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
end of life.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
Resolution:
LTS is right
around the
corner, in 6
more months.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
Issue: Various
other
platforms have
older GCCs as
their system
compiler,</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
and it's
annoying to
upgrade.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
Question: Do
any of these
not have a
port you can
install? For
example,</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
NetBSD 7
appears to
have GCC 5.3
as a port, if
DistroWatch is
any</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
indication.
It could be
wrong though
and I could
also be
misinterpreting</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
it.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
Issue: If
we're going to
make people
bootstrap a
compiler, we
might as well</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
go all the way
to C++17.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
Comment: I'm
not opposed.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
Some questions
/ comments of
my own:</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
* Where is
this policy
about Ubuntu
and LTS
documented?
Does this
mean,</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
for example,
that we will
not be able to
use C++17
until 2023
(16.04 LTS</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
has only GCC
5.3.1)? That
seems a bit
unreasonable.
And there's no</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
guarantee that
18.04 LTS will
even have GCC
7 or higher
either, so it
could</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
be 2025 or
2027.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
* We've asked
people in the
past to build
a modern
toolchain.
For example,</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
we did it with
C++11 and
Ubuntu 12.04
LTS. Is C++17
compelling
enough to</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
justify this
again?</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
* GCC 4.9
probably isn't
sufficient to
justify an
increase for
anyone, as</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
it lacks two
of the more
sought-after
features of
C++14
(variable
templates</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
and
generalized
constexpr).
So IMO we
should require
a bump to GCC
5 or</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
higher, or not
at all.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
* Clang 6
supports all
of C++20, and
it builds with
only C++11, so
we</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
shouldn't have
to worry too
much about the
problem of
needing to
"daisy</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
chain"
compilers to
finally get
the latest
version of
LLVM building.
"GCC</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
4.8 ->
Clang 6 - >
Clang ToT"
should hold up
through C++1z.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
* While we
obviously
can't be tied
to the
versioning of
every single
distro</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
out there,
some are
"bigger" than
others. Which
are big enough
that</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
warrant
serious
consideration?
The ones I
found are (and
I did my best
to</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
aggregate all
this, but
please correct
me if anything
is incorrect
or</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
misrepresented):</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
OpenBSD -
Ships with GCC
4.2.1 anyway.
They are
already having
to</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
bootstrap
something, so
the proposal
here does not
change
anything,
because</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
even current
LLVM doesn't
compile with
GCC 4.2.1</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
CentOS &
RHEL - No
version of
Distro,
including
trunk, has GCC
>= 4.8.5</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
(are there
ports?)</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
Debian -
Minimum
version 9 for
GCC >= 5
(are there
ports for
earlier</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
releases?)</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
Fedora -
Minimum
version 24 for
GCC >= 5,
minimum
version 26 for
GCC >= 7</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
Ubuntu -
Minimum LTS
16.04 for GCC
>= 5</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
NetBSD -
Version 7 has
GCC 4.8.4 by
default, but
contains port
for 5.3.0</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
FreeBSD -
Minimum
Version 11 for
GCC >= 5</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
So, thoughts?</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
[1] - Note
that we'd need
to wait a few
more revs for
MSVC before
allowing</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
C++17, but
given that
it's becoming
easier and
easier to bump
the minimum</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
MSVC version,
I'm
discounting
this as a
factor, as
MSVC will not
really be</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
the bottleneck
in any real
sense.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>
On Tue, Oct 4,
2016 at 2:15
PM Mehdi Amini
<mehdi.amini at<span
class="m_-4354436533182372363m_1966951477189470441Apple-converted-space"> </span><a
href="http://apple.com/" style="color:purple;text-decoration:underline"
target="_blank" moz-do-not-send="true">apple.com</a>> wrote:</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>
On Oct 4,
2016, at 2:10
PM, Reid
Kleckner
<rnk at<span
class="m_-4354436533182372363m_1966951477189470441Apple-converted-space"> </span><a
href="http://google.com/" style="color:purple;text-decoration:underline"
target="_blank" moz-do-not-send="true">google.com</a>> wrote:</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>
On Tue, Oct 4,
2016 at 11:58
AM, Mehdi
Amini
<mehdi.amini
at<span
class="m_-4354436533182372363m_1966951477189470441Apple-converted-space"> </span><a
href="http://apple.com/" style="color:purple;text-decoration:underline"
target="_blank" moz-do-not-send="true">apple.com</a>></div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>
wrote:</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>
On Oct 4,
2016, at 8:40
AM, Reid
Kleckner via
llvm-dev <</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>
llvm-dev at<span
class="m_-4354436533182372363m_1966951477189470441Apple-converted-space"> </span><a
href="http://lists.llvm.org/"
style="color:purple;text-decoration:underline"
target="_blank" moz-do-not-send="true">lists.llvm.org</a>> wrote:</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>
On Tue, Oct 4,
2016 at 8:29
AM, Zachary
Turner
<zturner at<span
class="m_-4354436533182372363m_1966951477189470441Apple-converted-space"> </span><a
href="http://google.com/" style="color:purple;text-decoration:underline"
target="_blank" moz-do-not-send="true">google.com</a>></div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>
wrote:</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>>
I ask because
many of these
LTS distros
are
notoriously
slow at
updating</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>>
their
packages.
While some
people may
think C++14
doesn't
provide enough</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>>
bang for the
buck to
justify
bumping to GCC
4.9, C++17
definitely
does. But</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>>
at that point
we're going to
be talking
about GCC 6.1
or 6.2, which
is</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>>
going to be
significantly
harder unless
we want to
wait 5-7
years, and I</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>>
suspect people
won't.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>
If by
"notoriously
slow" you mean
they don't
bump their
toolchain</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>
versions at
all, then
yeah. We just
wait until the
LTS release is
at</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>
end-of-life
before
dropping it.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>
That’s the
first time I
read about
this policy:
we support
every linux</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>
LTS
distribution
till their
end-of-life?
Only Ubuntu?
Do you have a
pointer</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>
where it is
documented /
discussed?</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>
(Note that
Ubuntu LTS is
5 years
AFAIK.)</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>
Sorry, I
didn't mean to
refer to the
LTS support
lifetime. I
just meant we</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>
support the
last LTS until
we can
reasonably
expect users
to have
upgraded</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>
to the new
one. If
there's an LTS
release every
two years,
then we want
to</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>
keep
supporting
them for at
least three
years to give
people a year
to</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>
upgrade.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>
OK, got it.</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>
Thanks for
clarifying!</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>>
Mehdi</div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>> </div>
</div>
<div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">>> </div>
</div>
</div>
</div>
<div
style="margin:0cm
0cm 0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">_______________________________________________<br>
LLVM
Developers
mailing list<br>
<a
href="mailto:llvm-dev@lists.llvm.org"
style="color:purple;text-decoration:underline" target="_blank"
moz-do-not-send="true">llvm-dev@lists.llvm.org</a><br>
<a
href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev"
style="color:purple;text-decoration:underline" target="_blank"
moz-do-not-send="true">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a></div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
<div style="margin:0cm 0cm
0.0001pt
36pt;font-size:11pt;font-family:Calibri,sans-serif">_______________________________________________<br>
LLVM Developers mailing list<br>
<a
href="mailto:llvm-dev@lists.llvm.org"
style="color:purple;text-decoration:underline" target="_blank"
moz-do-not-send="true">llvm-dev@lists.llvm.org</a><br>
<a
href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev"
style="color:purple;text-decoration:underline" target="_blank"
moz-do-not-send="true">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a></div>
</blockquote>
</div>
</div>
<span
style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline!important">_______________________________________________</span><br
style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">
<span
style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline!important">LLVM
Developers mailing list</span><br
style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">
<a href="mailto:llvm-dev@lists.llvm.org"
style="color:purple;text-decoration:underline;font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"
target="_blank" moz-do-not-send="true">llvm-dev@lists.llvm.org</a><br
style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">
<a
href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev"
style="color:purple;text-decoration:underline;font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"
target="_blank" moz-do-not-send="true">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br
style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">
</div>
</blockquote>
</div>
</div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org"
target="_blank" moz-do-not-send="true">llvm-dev@lists.llvm.org</a><br>
<a
href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev"
rel="noreferrer" target="_blank"
moz-do-not-send="true">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
</blockquote>
<p><br>
</p>
</body>
</html>