<div dir="ltr">I'm not in favor of dropping GCC 4.8 support yet. It's the default compiler for Ubuntu Trusty, which is from 2014, which isn't that old. I think it's important that LLVM build out of the box with the commonly installed system compiler.<div><br></div><div>We made an exception when we went to C++11 because it was worth it. I don't think the features provided by C++14 are quite as compelling as what we got for the pain of raising our minimum GCC version to 4.7.1.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Oct 1, 2016 at 10:33 PM, Zachary Turner via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">A thread was started over the summer to discuss the timeline for bumping LLVM up to Visual Studio 2015 to enable the use of various new language features.  Currently the ETA for this is sometime in mid-October, so within 2-3 weeks.<div><br></div><div>With this happening imminently, I thought it would be worth tossing this out there and seeing what people think.</div><div><br></div><div>With VS on 2015, the major lagging compiler is going to be GCC.  Our minimum GCC requirement is 4.7, which is quite old (almost 4 years for anyone keeping count).  What are the challenges with pushing this forward?</div><div><br></div><div>With VS2015, the biggest remaining missing C++14 features are variable templates, sized allocation, and extended constexpr.  But it gains generic lambdas, init-captures, decltype(auto) return, and auto return without requiring the trailing -> decltype syntax.</div><div><br></div><div>While GCC doesn't claim to "fully" support C++14 until 5.2 (which is only about 1 year old), you can get all of the above features with GCC 4.9</div><div><br></div><div>So if we're willing to allow "partial" C++14 support in LLVM (i.e a whitelisted set of features), we may be able to get many of the most useful features by going to GCC 4.9, which is still a good 2.5 years old.  </div><div><br></div><div>One potentially added benefit of this is that GCC supports <regex> in 4.9.  This might allow us to kill of llvm::Regex in favor of standardizing on std::regex, as GCC is currently the only supported compiler without a regex implementation.</div><div><br></div><div>Thoughts?</div></div>
<br>______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
<br></blockquote></div><br></div>