[llvm-dev] Using C++14 code in LLVM

Reid Kleckner via llvm-dev llvm-dev at lists.llvm.org
Mon Oct 3 12:06:12 PDT 2016


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.

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.

On Sat, Oct 1, 2016 at 10:33 PM, Zachary Turner via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> 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.
>
> With this happening imminently, I thought it would be worth tossing this
> out there and seeing what people think.
>
> 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?
>
> 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.
>
> 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
>
> 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.
>
> 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.
>
> Thoughts?
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161003/cbf2d12f/attachment.html>


More information about the llvm-dev mailing list