[cfe-dev] Using C++'11 in llvm/clang itself

Matthieu Monrocq matthieu.monrocq at gmail.com
Fri Jan 11 12:14:12 PST 2013


On Fri, Jan 11, 2013 at 8:01 PM, Chris Lattner <clattner at apple.com> wrote:

> FYI, on llvmdev we are discussion whether it makes sense to adopt C++'11
> language features in llvm and clang.  This obviously affects the clang
> community as well.  My latest proposal is here:
> http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-January/058007.html
>
> If you're interested in this, please chime in on the llvmdev thread.
>
> -Chris
>

I am interested but I don't quite understand how I can chime in on the
llvmdev thread without first receiving it in my e-mail client, did I miss
something in your link ?

Anyway, using the Apache Wiki [1] I summed up what can be used
simultaneously by gcc, MSVC and clang.

I voluntarily only considered the latest versions of the proposals where
there were several, as I feared that subtly different semantics between two
versions of a compiler might cause more harm than good [tm].

Let's examine the baseline setup: gcc 4.5, MSVC 10 and clang 3.1.

- extern template (n1987)
- lambda v1.1 (n2927)
- local types as template arguments (n2657)
- new deduced return type (n2541)
- static_assert (n1720)
- built-in type traits (n1836)


If we move the bar a little higher: gcc 4.6, MSVC 11 (not CRT nov' 12) and
clang 3.1, we add some features.

- atomic (n2427) / requires MSVC 11
- forward enum (n2764) / requires gcc 4.6, MSVC 11
- nullptr (n2431) / requires gcc 4.6
- strongly-typed enums (n2347) / requires MSVC 11
- range-based for (n2930) / requires gcc 4.6, MSVC 11


I attached the extract I did (isolating just the compilers of interest) in
case someone finds it useful.

[1]: http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport

-- Matthieu


> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20130111/cd5b0ab8/attachment.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: c++11.txt
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20130111/cd5b0ab8/attachment.txt>


More information about the cfe-dev mailing list