<div dir="ltr">+1, thanks again for driving this.<br></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Jan 25, 2019 at 3:57 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:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;">The discussion seems to have died down and gotten good consensus. I’ve therefore create a patch which applies the proposed soft-errors:<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><a href="https://reviews.llvm.org/D57264" target="_blank">https://reviews.llvm.org/D57264</a></div></blockquote><div><br></div><div>We’ll only migrate to hard-error (and start using new features) when we get consensus to do so, at the earliest end of March 2019. The patch will allow us to start warning developers, especially those who only compile branches (in this case, LLVM 8).</div><div><br><div><br><blockquote type="cite"><div>On Jan 22, 2019, at 1:44 PM, JF Bastien via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="gmail-m_6688057757169679758Apple-interchange-newline"><div><div style="overflow-wrap: break-word;">Hello fans of the <font face="Courier">auto</font> keyword!<div><br></div><div>We now have <a href="https://reviews.llvm.org/rL351765" target="_blank">a policy on how LLVM toolchains get updated</a>! Let’s put that policy to good use, and talk about how we’ll move all monorepo projects past C++11.</div><div><br></div><div><br></div><div><b>Previous Discussions</b></div><div><ul><li>LLVM dev meeting 2018 BoF "<a href="http://llvm.org/devmtg/2018-10/talk-abstracts.html#bof3" target="_blank">Migrating to C++14, and beyond!</a>"</li><li><a href="http://lists.llvm.org/pipermail/llvm-dev/2018-May/123238.html" target="_blank">A Short Policy Proposal Regarding Host Compilers</a></li><li><a href="http://lists.llvm.org/pipermail/llvm-dev/2018-May/123182.html" target="_blank">Using C++14 code in LLVM (2018)</a></li><li><a href="http://lists.llvm.org/pipermail/llvm-dev/2017-October/118673.html" target="_blank">Using C++14 code in LLVM (2017)</a></li><li><a href="http://lists.llvm.org/pipermail/llvm-dev/2016-October/105483.html" target="_blank">Using C++14 code in LLVM (2016)</a></li><li><a href="http://llvm.org/D47073" target="_blank">Document and Enforce new Host Compiler Policy</a></li><li><a href="http://llvm.org/D46723" target="_blank">Require GCC 5.1 and LLVM 3.5 at a minimum</a></li></ul></div><div><b><br></b></div><div><b>Migrate to what?</b></div><div><br></div><div>I’m only proposing that we migrate to C++14 for now. If you want to propose C++17, please do the work required by the policy. In particular, document which toolchains this would require, and what features you’d unlock. As per policy, I want to start soft-errors when building LLVM 8, so that LLVM 9 can use more than C++11.</div><div><br></div><div><br></div><div><b>Timeline</b></div><div><br></div><div>At the LLVM dev meeting BoF, the room already agreed to move past C++11. Late March 2019 was proposed as a time when we’d start migrating, pending large contributors’ readiness. I’m sticking to that timeline, we’ll see if everyone is ready at the end of March. I nonetheless want to get the soft-errors into the LLVM 8 branch so that we give a sufficient heads-up to developers who only compile releases.</div><div><div><br></div><div><br></div><div><b>Upsides</b></div><div><br></div><div>One clear upside of dropping older toolchains: they don’t even support C++11 very well. We have a handful of workarounds left in ADT (particularly around type traits) and I’d like to get rid of them.</div></div><div><br></div><div>The compiler versions I propose allow us to use all of C++14, which includes:</div><div><ul class="gmail-m_6688057757169679758MailOutline"><li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3472.pdf" target="_blank">Binary literals</a></li><li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3638.html" target="_blank">decltype(auto), Return type deduction for normal functions</a></li><li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3648.html" target="_blank">Initialized/Generalized lambda captures (init-capture)</a></li><li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3649.html" target="_blank">Generic (polymorphic) lambda expressions</a></li><li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3651.pdf" target="_blank">Variable templates</a></li><li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html" target="_blank">Member initializers and aggregates (NSDMI)</a></li><li>A bunch of new constexpr language and library features</li><li>Various other language and library features</li></ul></div><div>See <a href="https://en.cppreference.com/w/cpp/compiler_support" target="_blank">CppReference</a> for details.</div><div><br></div><div>Of these, I think polymorphic lambdas are the big feature. Of course, just like Almost Always Auto, we should use such things only where it makes sense.</div><div><br></div><div><br></div><div><b>Toolchains</b></div><div><br></div><div>We’re currently mandating:</div><div><ul><li>Clang 3.1 (<i>released 2012/05</i>)</li><li>Apple Clang 3.1 (<i>released 2012/05</i>)</li><li>GCC 4.8 (<i>released 2013/03</i>)</li><li>Visual Studio 2015 (Update 3) (<i>released 2016/06</i>)</li></ul></div><div>I propose instead:</div><div><ul><li>Clang 3.5 (<i>released 2014/07</i>) to get <font face="Courier">-std=c++14</font> instead of <font face="Courier">-std=c++1y</font></li><li>Apple Clang 6.0 (<i>released 2014/07</i>) to match clang 3.5</li><li>GCC 5.1 (<i>released 2015/04</i>) because C++14 mostly came to be in GCC 5</li><li>Visual Studio 2017 (<i>released 2017/03</i>) so that we get extended constexpr and NSDMI</li></ul></div><div>Version information from:</div><div><ul><li>Clang <a href="http://releases.llvm.org/" target="_blank">http://releases.llvm.org</a></li><li>Apple clang <a href="https://trac.macports.org/wiki/XcodeVersionInfo" target="_blank">https://trac.macports.org/wiki/XcodeVersionInfo</a> and <a href="https://en.wikipedia.org/wiki/Xcode#Latest_versions" target="_blank">https://en.wikipedia.org/wiki/Xcode#Latest_versions</a></li><li>GCC <a href="https://gcc.gnu.org/releases.html" target="_blank">https://gcc.gnu.org/releases.html</a></li><li>MSVC <a href="https://en.wikipedia.org/wiki/Microsoft_Visual_Studio" target="_blank">https://en.wikipedia.org/wiki/Microsoft_Visual_Studio</a> and <a href="https://docs.microsoft.com/en-us/cpp/visual-cpp-language-conformance" target="_blank">https://docs.microsoft.com/en-us/cpp/visual-cpp-language-conformance</a></li></ul></div><div><br></div><div>My previous attempts pointed out that WebKit / Chromium / Firefox are all past C++11 (WebKit is <a href="https://lists.webkit.org/pipermail/webkit-dev/2018-March/029922.html" target="_blank">moving to C++17</a> (from C++14), Chromium <a href="https://groups.google.com/a/chromium.org/d/msg/cxx/ow7hmdDm4yw/eV6KWL2yAQAJ" target="_blank">started moving to C++14</a>, Firefox uses <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Using_CXX_in_Mozilla_code" target="_blank">some C++14</a>). This means that platforms which distribute a modern browser can already bootstrap a browser. That’s a nice datapoint, but isn’t sufficient for platforms which compile / use LLVM (especially as a library).</div><div><br></div><div>Here’s a table from the LLVM dev meeting BoF detailing version info for distros that seemed relevant:</div><div><br></div><div><table cellspacing="0" cellpadding="0" style="border-collapse:collapse">
<tbody>
<tr>
<td valign="top" style="width:43px;height:13px;background-color:rgb(241,158,13);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>Release</b></font></div>
</td>
<td valign="top" style="width:86px;height:13px;background-color:rgb(241,158,13);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>Distro</b></font></div>
</td>
<td valign="top" style="width:56px;height:13px;background-color:rgb(241,158,13);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>Compiler</b></font></div>
</td>
<td valign="top" style="width:60px;height:13px;background-color:rgb(241,158,13);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>C++14 lang</b></font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2003-10</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">RHEL 3</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">GCC 3.2</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">❌</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2005-02</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">RHEL 4</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">GCC 3.4</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">❌</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2007-03</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">RHEL 5</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">GCC 4.1</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">❌</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2010-11</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">RHEL 6</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">GCC 4.4</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">❌</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2013-05</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">Debian 7 wheezy</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">GCC 4.7.2</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">❌</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2013-12</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">RHEL 7</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">GCC 4.8</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">❌</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2015-04</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">Debian 8 jessie</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">GCC 4.9.2</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">❌</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2015-05</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">OpenBSD 5.7</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">LLVM 3.5</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">✅</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2015-10</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">OpenBSD 5.8</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">LLVM 3.5</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">✅</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2016-03</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">OpenBSD 5.9</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">LLVM 3.5</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">✅</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2016-04</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">Ubuntu 14.04</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">GCC 4.8.2</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">❌</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2016-04</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">Ubuntu 16.04</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">GCC 5.3.1</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">✅</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2016-09</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">OpenBSD 6.0</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">LLVM 3.8</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">✅</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2017-04</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">OpenBSD 6.1</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">LLVM 4.0.0</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">✅</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2017-06</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">Debian 9 stretch</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">GCC 6.3.0</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">✅</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2017-10</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">Ubuntu 17.10</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">GCC 7.2.0</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">✅</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2017-10</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">OpenBSD 6.2</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">LLVM 5.0.0</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">✅</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2018-04</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">Ubuntu 18.04</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">GCC 7.3.0</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">✅</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2018-04</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">OpenBSD 6.3</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">LLVM 5.0.1</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">✅</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2018-10</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">Ubuntu 18.10</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">GCC 8.1.0</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">✅</font></div>
</td>
</tr>
<tr>
<td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" color="#ffffff" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures;color:rgb(255,255,255)"><b>2018-??</b></font></div>
</td>
<td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">Debian 10 buster</font></div>
</td>
<td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px"><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures">GCC 8.1.0</font></div>
</td>
<td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border-style:solid;border-width:1px;border-color:rgb(0,0,0);padding:4px"><div style="margin:0px;text-align:center"><font face="Apple Color Emoji" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Apple Color Emoji";font-variant-ligatures:common-ligatures">✅</font></div>
</td>
</tr>
</tbody>
</table></div><div><br></div><div>The data comes from the following sources:</div><div><ul><li><a href="https://en.cppreference.com/w/cpp/compiler_support" target="_blank">https://en.cppreference.com/w/cpp/compiler_support</a></li><li><a href="https://packages.ubuntu.com/search?keywords=gcc" target="_blank">https://packages.ubuntu.com/search?keywords=gcc</a></li><li><a href="https://packages.debian.org/search?keywords=gcc" target="_blank">https://packages.debian.org/search?keywords=gcc</a></li><li><a href="https://access.redhat.com/solutions/19458" target="_blank">https://access.redhat.com/solutions/19458</a></li><li><a href="https://www.openbsd.org/63.html" target="_blank">https://www.openbsd.org/63.html</a></li><li><a href="https://en.wikipedia.org/wiki/Clang" target="_blank">https://en.wikipedia.org/wiki/Clang</a></li><li><a href="https://releases.llvm.org/" target="_blank">https://releases.llvm.org</a></li></ul></div><div>I haven’t documented FreeBSD / NetBSD / Fedora / MacOS / MSVC, and nobody complained at the BoF. I’d like to understand if we should care about documenting these: ideally the toolchain update policy would list which platforms need to be considered and how far back in time is relevant.</div><div><br></div><div>Thanks,</div><div><br></div><div>JF</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" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br></div></blockquote></div><br></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="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>