<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">I landed that patch and no bots have complained about compiler versions thus far.<div class=""><br class=""></div><div class="">I’ve uploaded a patch to bump LLVM to C++14:</div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><a href="https://reviews.llvm.org/D66195" class="">https://reviews.llvm.org/D66195</a></div></blockquote><div class="">I’ll commit the C++14 patch tomorrow assuming the toolchain bump sticks.</div><div class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Aug 13, 2019, at 4:52 PM, JF Bastien <<a href="mailto:jfbastien@apple.com" class="">jfbastien@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">I tried removing the “soft errors” last Thursday night, and no bot complained. I reverted it and am now sending it through a proper patch with review:<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><a href="https://reviews.llvm.org/D66188" class="">https://reviews.llvm.org/D66188</a></div></blockquote><div class="">Once it sticks I’ll bump the minimum language version and commit actual C++14 code :)<br class=""><div class=""><br class=""></div><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Aug 4, 2019, at 10:04 AM, JF Bastien via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="auto" role="textbox" aria-label="Message Body" class=""><div dir="ltr" class="">Awesome! Thanks for going through it. </div><div dir="ltr" class=""><br class=""></div><div dir="ltr" class="">Next step is to wind down all the older bots, then hard-failing the older compilers instead of having the opt-out. Finally, bump the -std= version and use C++14. </div><div dir="ltr" class=""><br class=""></div><div dir="ltr" class="">I’ll reach out to bot owners on Monday. It’ll probably take a few tries to hard-fail the old compilers. </div><div dir="ltr" class=""><br class=""></div><div dir="ltr" class=""><br class=""><blockquote type="cite" class="">On Aug 4, 2019, at 8:24 AM, Eric Fiselier <<a href="mailto:eric@efcs.ca" class="">eric@efcs.ca</a>> wrote:<br class=""><br class=""></blockquote></div><blockquote type="cite" class=""><div dir="ltr" class=""><div dir="ltr" class="">I'm happy to announce that Google has migrated to libc++, and we're ready for C++14 and beyond.<div class=""><div class=""><br class=""></div><div class="">JF, what are the remaining blockers?</div><div class=""><br class=""></div><div class="">/Eric</div></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 6, 2019 at 5:12 PM JF Bastien via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class=""><br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On May 6, 2019, at 2:08 PM, Chandler Carruth <<a href="mailto:chandlerc@gmail.com" target="_blank" class="">chandlerc@gmail.com</a>> wrote:</div><br class="gmail-m_7864477574964433267gmail-m_-9047242971259144614Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div dir="ltr" class="">On Mon, May 6, 2019 at 2:44 PM James Y Knight <<a href="mailto:jyknight@google.com" target="_blank" class="">jyknight@google.com</a>> wrote:<br class=""></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class=""><div dir="ltr" class="">Given the small number of library features added by c++14, and given that they were mostly already implemented in libstdc++ 4.9 [1], I suspect that moving to c++14 with that stdlib as the minimum probably will not actually cause friction for developers who are using normal toolchains to be able to keep compatibility with it.</div><div dir="ltr" class=""><br class=""></div><div dir="ltr" class="">The main thing missing seems to be heterogeneous lookup in associative containers. While llvm often uses its own containers, that's not universally the case, so it is possible someone may run into that deficiency when trying to write new code.</div></div></blockquote><div class=""><br class=""></div><div class="">Again, I'm not really opposed to this, but I'd like to understand what the process is for keeping these from creeping into the codebase. I mean, we can just revert all the patches that introduce failures here, but that seems somewhat unfriendly w/o build bots. What I don't think we can do is commit to fixing (without revert) any patch that introduces an issue.</div></div></div></div></blockquote><div class=""><br class=""></div><div class="">Yeah I don’t think it’s worth pushing for this if we can just wait a bit more and get a clean transition. Since this is our first toolchain bump in a while I’d like it to be as clean as it can so we all have a fond memory of it and don’t balk at subsequent toolchain bumps :)</div><div class=""><br class=""></div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class=""><div dir="ltr" class=""><div class="">[1] <a href="https://gcc.gnu.org/onlinedocs/gcc-4.9.4/libstdc++/manual/manual/status.html#status.iso.2014" target="_blank" class="">https://gcc.gnu.org/onlinedocs/gcc-4.9.4/libstdc++/manual/manual/status.html#status.iso.2014</a><br class=""></div><div class=""><br class=""></div></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 6, 2019 at 2:08 PM JF Bastien via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class=""><br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On May 6, 2019, at 11:02 AM, Chandler Carruth <<a href="mailto:chandlerc@gmail.com" target="_blank" class="">chandlerc@gmail.com</a>> wrote:</div><br class="gmail-m_7864477574964433267gmail-m_-9047242971259144614gmail-m_6196944205008956695gmail-m_-6740589244428533720gmail-m_-1300021942917242918Apple-interchange-newline"><div class=""><div dir="ltr" class="">I know you'll be shocked that we've slipped in our efforts. ;] I don't have a super meaningful ETA update though -- a bunch of unknows have been found and addressed, and again, I feel like we might finish this in roughly a month.<div class=""><br class=""></div><div class="">On the flip side, I do want to clarify the immediate concern we have: we need to be able to use LLVM libraries with libstdc++4.9. We can set `-std=c++14` (or newer) w/o issue. So in some senses, if LLVM folks want to move to C++14, that's fine. But if it involves moving the minimum supported GCC version (and thus libstdc++ version tested on build bots) past libstdc++4.9, any changes that break with that version would be a big problem for us.</div></div></div></blockquote><div class=""><br class=""></div><div class="">Thanks for the update! No worries, stuff’s hard. About your suggestion: at least for me I don’t think the headache is really worth the rush. I’d much rather do a clean migration when all is ready.</div><div class=""><br class=""></div><br class=""><blockquote type="cite" class=""><div class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 6, 2019 at 11:51 AM JF Bastien <<a href="mailto:jfbastien@apple.com" target="_blank" class="">jfbastien@apple.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class=""><br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Apr 1, 2019, at 4:10 PM, JF Bastien via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="gmail-m_7864477574964433267gmail-m_-9047242971259144614gmail-m_6196944205008956695gmail-m_-6740589244428533720gmail-m_-1300021942917242918gmail-m_-5783335365749626679Apple-interchange-newline"><div class=""><div 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" class=""><br class="gmail-m_7864477574964433267gmail-m_-9047242971259144614gmail-m_6196944205008956695gmail-m_-6740589244428533720gmail-m_-1300021942917242918gmail-m_-5783335365749626679Apple-interchange-newline"><br class=""><blockquote type="cite" class=""><div class="">On Apr 1, 2019, at 4:07 PM, Chandler Carruth <<a href="mailto:chandlerc@gmail.com" target="_blank" class="">chandlerc@gmail.com</a>> wrote:</div><br class="gmail-m_7864477574964433267gmail-m_-9047242971259144614gmail-m_6196944205008956695gmail-m_-6740589244428533720gmail-m_-1300021942917242918gmail-m_-5783335365749626679Apple-interchange-newline"><div class=""><div dir="ltr" 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" class=""><div dir="ltr" class="">On Mon, Apr 1, 2019 at 1:16 PM JF Bastien via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>> wrote:<br class=""></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="">Hello folks (except fans of April 1st: this is<span class="gmail-m_7864477574964433267gmail-m_-9047242971259144614gmail-m_6196944205008956695gmail-m_-6740589244428533720gmail-m_-1300021942917242918gmail-m_-5783335365749626679Apple-converted-space"> </span><i class="">not</i><span class="gmail-m_7864477574964433267gmail-m_-9047242971259144614gmail-m_6196944205008956695gmail-m_-6740589244428533720gmail-m_-1300021942917242918gmail-m_-5783335365749626679Apple-converted-space"> </span>a joke),<div class=""><br class=""></div><div class="">We discussed <a href="http://lists.llvm.org/pipermail/llvm-dev/2019-January/129452.html" target="_blank" class="">migrating past C++11</a> recently and got consensus. This led us to <a href="https://reviews.llvm.org/D57264" target="_blank" class="">bump our minimum toolchain requirements</a> to a point where C++14 was supported by all compilers. Following <a href="http://llvm.org/docs/DeveloperPolicy.html#toolchain" target="_blank" class="">our policy</a>, I’m now suggesting that we make this official by creating a patch which will:</div><div class=""><br class=""></div><div class=""><ul class="gmail-m_7864477574964433267gmail-m_-9047242971259144614gmail-m_6196944205008956695gmail-m_-6740589244428533720gmail-m_-1300021942917242918gmail-m_-5783335365749626679gmail-m_-1264361745544739548MailOutline"><li class="">Update <a href="http://llvm.org/docs/CodingStandards.html#c-standard-versions" target="_blank" class="">the C++ standard version</a> to C++14, allowing the usage of the following language and library features:</li><ul class=""><li class=""><a href="https://wg21.link/N3472" target="_blank" class="">Binary literals</a>:</li><ul class=""><li class="">Without restrictions.</li></ul><li class=""><a href="https://wg21.link/N3638" target="_blank" class="">decltype(auto)</a>, Return type deduction for normal functions:</li><ul class=""><li class=""><a href="http://llvm.org/docs/CodingStandards.html#use-auto-type-deduction-to-make-code-more-readable" target="_blank" class="">As with auto</a>, only where it makes code more readable.</li></ul><li class=""><a href="https://wg21.link/N3648" target="_blank" class="">Initialized/Generalized lambda captures (init-capture)</a>:</li><ul class=""><li class="">Without restriction.</li></ul><li class=""><a href="https://wg21.link/N3649" target="_blank" class="">Generic (polymorphic) lambda expressions</a>:</li><ul class=""><li class=""><a href="http://llvm.org/docs/CodingStandards.html#use-auto-type-deduction-to-make-code-more-readable" target="_blank" class="">As with auto</a>, only where it makes code more readable.</li></ul><li class=""><a href="https://wg21.link/N3651" target="_blank" class="">Variable templates</a>:</li><ul class=""><li class="">Without restriction.</li></ul><li class=""><a href="https://wg21.link/N3653" target="_blank" class="">Member initializers and aggregates (NSDMI)</a>:</li><ul class=""><li class="">Without restriction.</li></ul><li class="">More constexpr everywhere:</li><ul class=""><li class="">Without restriction.</li></ul><li class=""><a href="https://wg21.link/N3781" target="_blank" class="">Single quote as digit separator</a>:</li><ul class=""><li class="">Not allowed.</li></ul><li class=""><a href="https://wg21.link/N3654" target="_blank" class="">std::quoted</a>:</li><ul class=""><li class="">Without restriction.</li></ul><li class=""><a href="https://wg21.link/N3668" target="_blank" class="">std::exchange</a>:</li><ul class=""><li class="">Without restriction.</li></ul></ul><li class="">Change the minimum toolchain requirement from a “soft-error” to a “hard-error” such that<span class="gmail-m_7864477574964433267gmail-m_-9047242971259144614gmail-m_6196944205008956695gmail-m_-6740589244428533720gmail-m_-1300021942917242918gmail-m_-5783335365749626679Apple-converted-space"> </span><font face="Courier" class="">CheckCompilerVersion.cmake</font><span class="gmail-m_7864477574964433267gmail-m_-9047242971259144614gmail-m_6196944205008956695gmail-m_-6740589244428533720gmail-m_-1300021942917242918gmail-m_-5783335365749626679Apple-converted-space"> </span>now says:</li><ul class=""><li class=""><font face="Courier" class="">set(GCC_MIN 5.1)<br class="">set(GCC_SOFT_ERROR 5.1)<br class="">set(CLANG_MIN 3.5)<br class="">set(CLANG_SOFT_ERROR 3.5)<br class="">set(APPLECLANG_MIN 6.0)<br class="">set(APPLECLANG_SOFT_ERROR 6.0)<br class="">set(MSVC_MIN 19.1)<br class="">set(MSVC_SOFT_ERROR 19.1)</font></li></ul><li class="">The above makes <font face="Courier" class="">LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN</font><span class="gmail-m_7864477574964433267gmail-m_-9047242971259144614gmail-m_6196944205008956695gmail-m_-6740589244428533720gmail-m_-1300021942917242918gmail-m_-5783335365749626679Apple-converted-space"> </span>useless until we try upgrading toolchain versions again.</li><li class="">Use C++14 in the code somewhere.</li></ul></div><div class=""><br class=""></div><div class="">When we last discussed this we said we’d revisit at the end of March 2019 and see if everyone was able to upgrade their toolchains. Remember that by now any build of LLVM with an old toolchain has received a “soft-error” which people had to read and disable using a CMake argument. This includes anyone building LLVM 8 because the change made it to the branch. There were plenty of discussions on Phabricator, on the mailing lists, and at the dev meeting. The was <a href="http://lists.llvm.org/pipermail/llvm-dev/2019-February/130117.html" target="_blank" class="">a PSA</a> and emails were sent to all bot maintainers with older bots. At this point there’s no way that you didn’t know that you needed to upgrade you toolchain.</div><div class=""><br class=""></div><div class="">This would mean that LLVM 9 would require a newer toolchain.</div><div class=""><br class=""></div><div class="">Is anyone not ready for this move?</div></div></blockquote><div class=""><br class=""></div><div class="">FWIW, despite making good progress, we're not quite finished.</div><div class=""> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class=""><div class="">If so, what does your timing look like?</div></div></blockquote><div class=""><br class=""></div><div class="">We are significantly closer than when we last talked (two separate big milestones landed). We're basically on the last step which, for us, is switching to libc++. AFAIK, we don't have any major blockers, and folks are mostly trying to land the necessary changes. Optimistically, we'll finish in April. Conservatively, it might slip a week or two into May, but that seems unlikely at this point (there are few unknowns left).</div></div></div></div></blockquote><div class=""><br class=""></div><div class="">No problem, and thanks for the update. Let’s take another look in May.</div><div class=""><br class=""></div><div class="">In the meantime, we can discuss the rest of the proposal. All that’ll be left for May is to rubber-stamp the patch.</div></div></div></blockquote><div class=""><br class=""></div><div class="">Hello all! It’s May and I was wondering: how are things going with the libc++ migration? Is everything ready and sufficiently settled so that we can migrate LLVM to C++14?</div><div class=""><br class=""></div><div class="">Thanks!</div><div class=""><br class=""></div><br class=""><blockquote type="cite" class=""><div class=""><div 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" class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" 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" class=""><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class=""><div class="">Thanks,</div><div class=""><br class=""></div><div class="">JF</div><div class=""><br class=""></div><div class=""><br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Jan 22, 2019, at 1:44 PM, JF Bastien via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="gmail-m_7864477574964433267gmail-m_-9047242971259144614gmail-m_6196944205008956695gmail-m_-6740589244428533720gmail-m_-1300021942917242918gmail-m_-5783335365749626679gmail-m_-1264361745544739548Apple-interchange-newline"><div class=""><div class="">Hello fans of the <font face="Courier" class="">auto</font> keyword!<div class=""><br class=""></div><div class="">We now have <a href="https://reviews.llvm.org/rL351765" target="_blank" class="">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 class=""><br class=""></div><div class=""><br class=""></div><div class=""><b class="">Previous Discussions</b></div><div class=""><ul class=""><li class="">LLVM dev meeting 2018 BoF "<a href="http://llvm.org/devmtg/2018-10/talk-abstracts.html#bof3" target="_blank" class="">Migrating to C++14, and beyond!</a>"</li><li class=""><a href="http://lists.llvm.org/pipermail/llvm-dev/2018-May/123238.html" target="_blank" class="">A Short Policy Proposal Regarding Host Compilers</a></li><li class=""><a href="http://lists.llvm.org/pipermail/llvm-dev/2018-May/123182.html" target="_blank" class="">Using C++14 code in LLVM (2018)</a></li><li class=""><a href="http://lists.llvm.org/pipermail/llvm-dev/2017-October/118673.html" target="_blank" class="">Using C++14 code in LLVM (2017)</a></li><li class=""><a href="http://lists.llvm.org/pipermail/llvm-dev/2016-October/105483.html" target="_blank" class="">Using C++14 code in LLVM (2016)</a></li><li class=""><a href="http://llvm.org/D47073" target="_blank" class="">Document and Enforce new Host Compiler Policy</a></li><li class=""><a href="http://llvm.org/D46723" target="_blank" class="">Require GCC 5.1 and LLVM 3.5 at a minimum</a></li></ul></div><div class=""><b class=""><br class=""></b></div><div class=""><b class="">Migrate to what?</b></div><div class=""><br class=""></div><div class="">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 class=""><br class=""></div><div class=""><br class=""></div><div class=""><b class="">Timeline</b></div><div class=""><br class=""></div><div class="">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 class=""><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><b class="">Upsides</b></div><div class=""><br class=""></div><div class="">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 class=""><br class=""></div><div class="">The compiler versions I propose allow us to use all of C++14, which includes:</div><div class=""><ul class="gmail-m_7864477574964433267gmail-m_-9047242971259144614gmail-m_6196944205008956695gmail-m_-6740589244428533720gmail-m_-1300021942917242918gmail-m_-5783335365749626679gmail-m_-1264361745544739548MailOutline"><li class=""><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3472.pdf" target="_blank" class="">Binary literals</a></li><li class=""><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3638.html" target="_blank" class="">decltype(auto), Return type deduction for normal functions</a></li><li class=""><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3648.html" target="_blank" class="">Initialized/Generalized lambda captures (init-capture)</a></li><li class=""><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3649.html" target="_blank" class="">Generic (polymorphic) lambda expressions</a></li><li class=""><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3651.pdf" target="_blank" class="">Variable templates</a></li><li class=""><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html" target="_blank" class="">Member initializers and aggregates (NSDMI)</a></li><li class="">A bunch of new constexpr language and library features</li><li class="">Various other language and library features</li></ul></div><div class="">See <a href="https://en.cppreference.com/w/cpp/compiler_support" target="_blank" class="">CppReference</a> for details.</div><div class=""><br class=""></div><div class="">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 class=""><br class=""></div><div class=""><br class=""></div><div class=""><b class="">Toolchains</b></div><div class=""><br class=""></div><div class="">We’re currently mandating:</div><div class=""><ul class=""><li class="">Clang 3.1 (<i class="">released 2012/05</i>)</li><li class="">Apple Clang 3.1 (<i class="">released 2012/05</i>)</li><li class="">GCC 4.8 (<i class="">released 2013/03</i>)</li><li class="">Visual Studio 2015 (Update 3) (<i class="">released 2016/06</i>)</li></ul></div><div class="">I propose instead:</div><div class=""><ul class=""><li class="">Clang 3.5 (<i class="">released 2014/07</i>) to get <font face="Courier" class="">-std=c++14</font> instead of <font face="Courier" class="">-std=c++1y</font></li><li class="">Apple Clang 6.0 (<i class="">released 2014/07</i>) to match clang 3.5</li><li class="">GCC 5.1 (<i class="">released 2015/04</i>) because C++14 mostly came to be in GCC 5</li><li class="">Visual Studio 2017 (<i class="">released 2017/03</i>) so that we get extended constexpr and NSDMI</li></ul></div><div class="">Version information from:</div><div class=""><ul class=""><li class="">Clang <a href="http://releases.llvm.org/" target="_blank" class="">http://releases.llvm.org</a></li><li class="">Apple clang <a href="https://trac.macports.org/wiki/XcodeVersionInfo" target="_blank" class="">https://trac.macports.org/wiki/XcodeVersionInfo</a> and <a href="https://en.wikipedia.org/wiki/Xcode#Latest_versions" target="_blank" class="">https://en.wikipedia.org/wiki/Xcode#Latest_versions</a></li><li class="">GCC <a href="https://gcc.gnu.org/releases.html" target="_blank" class="">https://gcc.gnu.org/releases.html</a></li><li class="">MSVC <a href="https://en.wikipedia.org/wiki/Microsoft_Visual_Studio" target="_blank" class="">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" class="">https://docs.microsoft.com/en-us/cpp/visual-cpp-language-conformance</a></li></ul></div><div class=""><br class=""></div><div class="">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" class="">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" class="">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" class="">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 class=""><br class=""></div><div class="">Here’s a table from the LLVM dev meeting BoF detailing version info for distros that seemed relevant:</div><div class=""><br class=""></div><div class=""><table cellspacing="0" cellpadding="0" style="border-collapse:collapse" class=""><tbody class=""><tr class=""><td valign="top" style="width:43px;height:13px;background-color:rgb(241,158,13);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">Release</b></font></div></td><td valign="top" style="width:86px;height:13px;background-color:rgb(241,158,13);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">Distro</b></font></div></td><td valign="top" style="width:56px;height:13px;background-color:rgb(241,158,13);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">Compiler</b></font></div></td><td valign="top" style="width:60px;height:13px;background-color:rgb(241,158,13);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">C++14 lang</b></font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2003-10</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">RHEL 3</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">GCC 3.2</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">❌</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2005-02</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">RHEL 4</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">GCC 3.4</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">❌</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2007-03</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">RHEL 5</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">GCC 4.1</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">❌</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2010-11</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">RHEL 6</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">GCC 4.4</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">❌</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2013-05</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">Debian 7 wheezy</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">GCC 4.7.2</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">❌</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2013-12</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">RHEL 7</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">GCC 4.8</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">❌</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2015-04</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">Debian 8 jessie</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">GCC 4.9.2</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">❌</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2015-05</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">OpenBSD 5.7</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">LLVM 3.5</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">✅</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2015-10</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">OpenBSD 5.8</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">LLVM 3.5</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">✅</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2016-03</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">OpenBSD 5.9</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">LLVM 3.5</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">✅</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2016-04</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">Ubuntu 14.04</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">GCC 4.8.2</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">❌</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2016-04</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">Ubuntu 16.04</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">GCC 5.3.1</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">✅</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2016-09</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">OpenBSD 6.0</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">LLVM 3.8</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">✅</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2017-04</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">OpenBSD 6.1</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">LLVM 4.0.0</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">✅</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2017-06</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">Debian 9 stretch</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">GCC 6.3.0</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">✅</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2017-10</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">Ubuntu 17.10</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">GCC 7.2.0</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">✅</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2017-10</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">OpenBSD 6.2</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">LLVM 5.0.0</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">✅</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2018-04</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">Ubuntu 18.04</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">GCC 7.3.0</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">✅</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2018-04</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">OpenBSD 6.3</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">LLVM 5.0.1</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">✅</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2018-10</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">Ubuntu 18.10</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">GCC 8.1.0</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">✅</font></div></td></tr><tr class=""><td valign="top" style="width:43px;height:18px;background-color:rgb(113,123,137);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><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)" class=""><b class="">2018-??</b></font></div></td><td valign="top" style="width:86px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">Debian 10 buster</font></div></td><td valign="top" style="width:56px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px" class=""><font face="Helvetica Neue" style="font-stretch:normal;font-size:11px;line-height:normal;font-family:"Helvetica Neue";font-variant-ligatures:common-ligatures" class="">GCC 8.1.0</font></div></td><td valign="top" style="width:60px;height:18px;background-color:rgb(204,204,204);border:1px solid rgb(0,0,0);padding:4px" class=""><div style="margin:0px;text-align:center" class=""><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" class="">✅</font></div></td></tr></tbody></table></div><div class=""><br class=""></div><div class="">The data comes from the following sources:</div><div class=""><ul class=""><li class=""><a href="https://en.cppreference.com/w/cpp/compiler_support" target="_blank" class="">https://en.cppreference.com/w/cpp/compiler_support</a></li><li class=""><a href="https://packages.ubuntu.com/search?keywords=gcc" target="_blank" class="">https://packages.ubuntu.com/search?keywords=gcc</a></li><li class=""><a href="https://packages.debian.org/search?keywords=gcc" target="_blank" class="">https://packages.debian.org/search?keywords=gcc</a></li><li class=""><a href="https://access.redhat.com/solutions/19458" target="_blank" class="">https://access.redhat.com/solutions/19458</a></li><li class=""><a href="https://www.openbsd.org/63.html" target="_blank" class="">https://www.openbsd.org/63.html</a></li><li class=""><a href="https://en.wikipedia.org/wiki/Clang" target="_blank" class="">https://en.wikipedia.org/wiki/Clang</a></li><li class=""><a href="https://releases.llvm.org/" target="_blank" class="">https://releases.llvm.org</a></li></ul></div><div class="">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 class=""><br class=""></div><div class="">Thanks,</div><div class=""><br class=""></div><div class="">JF</div></div></div></blockquote><br class=""></div></div></div>_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a><br class=""><a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank" class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a></blockquote></div></div></div></blockquote></div><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" class=""><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" class="">_______________________________________________</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" class=""><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" class="">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" class=""><a href="mailto:llvm-dev@lists.llvm.org" 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" target="_blank" class="">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" class=""><a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" 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" target="_blank" class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a></div></blockquote></div><br class=""></div></blockquote></div>
</div></blockquote></div><br class=""></div>_______________________________________________<br class="">
LLVM Developers mailing list<br class="">
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a><br class="">
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank" class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br class="">
</blockquote></div>
</blockquote></div></div>
</div></blockquote></div><br class=""></div>_______________________________________________<br class="">
LLVM Developers mailing list<br class="">
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a><br class="">
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank" class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br class="">
</blockquote></div>
</div></blockquote></div>_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a><br class=""><a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br class=""></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></body></html>