<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><br><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">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">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="m_1966951477189470441Apple-interchange-newline"><div><div class="m_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,<u></u><u></u></div><div style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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.<u></u><u></u></div><div style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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:<u></u><u></u></div><div style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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)<u></u><u></u></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">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_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,<u></u><u></u></div><div style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">Evgeny<u></u><u></u></div><div style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></div><div style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></div><div style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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_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">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">llvm-dev@lists.llvm.org</a>><br><b>Reply-To:<span class="m_1966951477189470441Apple-converted-space"> </span></b>Reid Kleckner <<a href="mailto:rnk@google.com" style="color:purple;text-decoration:underline" target="_blank">rnk@google.com</a>><br><b>Date:<span class="m_1966951477189470441Apple-converted-space"> </span></b>Thursday, 10 May 2018 at 19:50<br><b>To:<span class="m_1966951477189470441Apple-converted-space"> </span></b>Zachary Turner <<a href="mailto:zturner@google.com" style="color:purple;text-decoration:underline" target="_blank">zturner@google.com</a>><br><b>Cc:<span class="m_1966951477189470441Apple-converted-space"> </span></b>llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" style="color:purple;text-decoration:underline" target="_blank">llvm-dev@lists.llvm.org</a>><br><b>Subject:<span class="m_1966951477189470441Apple-converted-space"> </span></b>Re: [llvm-dev] Using C++14 code in LLVM<u></u><u></u></span></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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. :)<u></u><u></u></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">---<u></u><u></u></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.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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.<u></u><u></u></div></div></div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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">llvm-dev@lists.llvm.org</a>> wrote:<u></u><u></u></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.<u></u><u></u></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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)?<u></u><u></u></div></div></div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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">jfbastien@apple.com</a>> wrote:<u></u><u></u></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><u></u><u></u></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">zturner@google.com</a>> wrote:<u></u><u></u></div></div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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].<u></u><u></u></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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.<u></u><u></u></div></div></div></div></blockquote><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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.<u></u><u></u></div></div></div></div><div><div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></div></div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><br><br><u></u><u></u></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.<u></u><u></u></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">[1]<span class="m_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">https://blogs.msdn.microsoft.com/vcblog/2018/05/07/announcing-msvc-conforms-to-the-c-standard/</a><u></u><u></u></div></div></div></div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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">echristo@gmail.com</a>> wrote:<u></u><u></u></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 ...<u></u><u></u></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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?<u></u><u></u></div></div></div><div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">-eric<u></u><u></u></div></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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">llvm-dev@lists.llvm.org</a>> wrote:<u></u><u></u></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!<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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?<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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:<u></u><u></u></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_1966951477189470441Apple-converted-space"> </span></span></span>Some folks want an official policy about compiler support before updating the standard version we use.<u></u><u></u></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_1966951477189470441Apple-converted-space"> </span></span></span>Worries about which GCC version is available in which distro.<u></u><u></u></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_1966951477189470441Apple-converted-space"> </span></span></span>Worries about MSVC.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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:<u></u><u></u></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_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">moving to C++17</a> (from C++14) right now †<u></u><u></u></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_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">started moving to C++14</a> in August of last year<u></u><u></u></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_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">some C++14</a><u></u><u></u></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_1966951477189470441Apple-converted-space"> </span><i>somehow</i>.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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?<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">Thanks!<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">JF<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></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<u></u><u></u></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".<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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,<u></u><u></u></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 :)<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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<u></u><u></u></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.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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?<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> * Variable templates<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> * Generalized constexpr<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> * Return-type Deduction<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> * Generic Lambdas<u></u><u></u></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)<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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]<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> * [[nodiscard]] attribute<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> * structured bindings<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> * constexpr-if<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> * guaranteed copy elision<u></u><u></u></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,<u></u><u></u></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<u></u><u></u></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.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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.<u></u><u></u></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.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> last time:<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> end of life.<u></u><u></u></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.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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,<u></u><u></u></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.<u></u><u></u></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,<u></u><u></u></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<u></u><u></u></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<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> it.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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<u></u><u></u></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.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> Comment: I'm not opposed.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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:<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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,<u></u><u></u></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<u></u><u></u></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<u></u><u></u></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<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> be 2025 or 2027.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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,<u></u><u></u></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<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> justify this again?<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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<u></u><u></u></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<u></u><u></u></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<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> higher, or not at all.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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<u></u><u></u></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<u></u><u></u></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<u></u><u></u></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.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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<u></u><u></u></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<u></u><u></u></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<u></u><u></u></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<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> misrepresented):<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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<u></u><u></u></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<u></u><u></u></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<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> (are there ports?)<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> releases?)<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> So, thoughts?<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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<u></u><u></u></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<u></u><u></u></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<u></u><u></u></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.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></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_1966951477189470441Apple-converted-space"> </span><a href="http://apple.com/" style="color:purple;text-decoration:underline" target="_blank">apple.com</a>> wrote:<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">> <u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>><u></u> <u></u></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_1966951477189470441Apple-converted-space"> </span><a href="http://google.com/" style="color:purple;text-decoration:underline" target="_blank">google.com</a>> wrote:<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>><u></u> <u></u></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_1966951477189470441Apple-converted-space"> </span><a href="http://apple.com/" style="color:purple;text-decoration:underline" target="_blank">apple.com</a>><u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>> wrote:<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>><u></u> <u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>>><u></u> <u></u></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 <<u></u><u></u></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_1966951477189470441Apple-converted-space"> </span><a href="http://lists.llvm.org/" style="color:purple;text-decoration:underline" target="_blank">lists.llvm.org</a>> wrote:<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>>><u></u> <u></u></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_1966951477189470441Apple-converted-space"> </span><a href="http://google.com/" style="color:purple;text-decoration:underline" target="_blank">google.com</a>><u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>>> wrote:<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>><u></u> <u></u></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<u></u><u></u></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<u></u><u></u></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<u></u><u></u></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<u></u><u></u></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<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>> suspect people won't.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>>>><u></u> <u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>>><u></u> <u></u></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<u></u><u></u></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<u></u><u></u></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.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>>><u></u> <u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>>><u></u> <u></u></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<u></u><u></u></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<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>>> where it is documented / discussed?<u></u><u></u></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.)<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>>><u></u> <u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>><u></u> <u></u></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<u></u><u></u></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<u></u><u></u></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<u></u><u></u></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<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>> upgrade.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>><u></u> <u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>><u></u> <u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>> OK, got it.<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>><u></u> <u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>> Thanks for clarifying!<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>><u></u> <u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>> Mehdi<u></u><u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>><u></u> <u></u></div></div><div><div style="margin:0cm 0cm 0.0001pt 36pt;font-size:11pt;font-family:Calibri,sans-serif">>><u></u> <u></u></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">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">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><u></u><u></u></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">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">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><u></u><u></u></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">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">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">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>