<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">So, there was agreement that the default gcc for recent-but-not-latest distros was not important? That is, it's okay to require people to upgrade their tools
 in order to work with LLVM?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">In my team's case, a lot of us are on Ubuntu 16.04 which comes with gcc 5.4, which is not gcc 7.  And currently for Windows we're on MSVC 2015.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I suppose by March we can persuade our IT to upgrade all the people and bots to Ubuntu 18.04 (gcc 7.3?) and deploy MSVC 2017.  But it's something we need to
 plan for.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">(I suppose I should thank the Google folks for being such slugs
</span><span style="font-size:11.0pt;font-family:Wingdings;color:#1F497D">J</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> about being ready to switch, because it will give us time to get things organized for ourselves.)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">--paulr<o:p></o:p></span></p>
<p class="MsoNormal"><a name="_MailEndCompose"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></a></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> cfe-dev [mailto:cfe-dev-bounces@lists.llvm.org]
<b>On Behalf Of </b>Zachary Turner via cfe-dev<br>
<b>Sent:</b> Friday, October 19, 2018 9:58 AM<br>
<b>To:</b> llvm-dev; Clang Dev<br>
<b>Subject:</b> [cfe-dev] LLVM C++14/C++17 BoF - Summary<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">For those of you who were not able to attend the LLVM Developer Meeting (and as a recap for those who were), we had a productive BoF about enabling C++14 or C++17 in LLVM.  The outcome of this can be generally summarized as:<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">* There were no major objections to moving to C++14 / C++17 "as soon as possible"<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">* "As soon as possible" is not immediately, but we are currently targeting March of 2019 due to some downstream contributors' needing to resolve some blockages before it can be possible.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">* There did not seem to be a strong sentiment that we should only move to C++14, so for the sake of this discussion we're assuming 17 unless someone presents a strong argument why 17 is *less* desirable than 14.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Minimum Compiler Versions for "Reasonable C++17 Support" (Mostly everything minus CTAD)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">GCC - Version 7 [1]  (Version 8 for CTAD)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Clang - Version 4 [2]  (Version 5 for CTAD)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">MSVC - 2017 Update 5 [3] (Update 7 for CTAD)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">We plan to add a CMake warning if your compiler version is below these versions soon.  Around January, we will promote this to a CMake error which you must manually override by passing -DCMAKE_ALLLOW_DEPRECATED_COMPILER.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">If I'm forgetting anything or misrepresenting anything that was said at the BoF please feel free to correct me.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">[1] - <a href="https://www.gnu.org/software/gcc/projects/cxx-status.html">https://www.gnu.org/software/gcc/projects/cxx-status.html</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[2] - <a href="https://clang.llvm.org/cxx_status.html">https://clang.llvm.org/cxx_status.html</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[3] - <a href="https://docs.microsoft.com/en-us/cpp/visual-cpp-language-conformance?view=vs-2017">https://docs.microsoft.com/en-us/cpp/visual-cpp-language-conformance?view=vs-2017</a><o:p></o:p></p>
</div>
</div>
</div>
</div>
</body>
</html>