[LLVMdev] Heads up, C++11 switch mid week!

Chandler Carruth chandlerc at gmail.com
Mon Jan 20 02:34:00 PST 2014


Alright folks,

The host compiler and standard library checking seems to be working. The
last kinks in the build bots I know of are being worked out. Nothing has
really burned.

So its time to switch to C++11!

I'm planning to land the following things around mid-week:

1) Some documentation of recommended features (both library and language)
that should generally work. This won't be exhaustive or really
authoritative. The authority will be the build bots. =] But it should give
people an idea of what they can do.

2) Some very basic guidelines about how to use C++11 features. This is
going to be *extremely* minimal until we have experience with specific
features causing problems or otherwise needing to be called out. Also, I
expect these guidelines to spark lots of fun discussions and evolve a bit.
Fortunately, we have code reviews. These should be the dominant way to
figure out the best way to write a particular construct.

3) Flip the default build mode to C++11, renaming various build options
accordingly.

4) Flip the default clang-format style to be C++11-derived, for example not
putting spaces between nested close angle-brackets in templates.

5) Update all the release notes stuff.


I encourage folks to hold off from going crazy with C++11 for a few days to
let the dust settle. After that, a few patches that I have in a branch and
will be landing:

1) A bunch of range adaptors for the core LLVM IR types that have been
floating around in my git branches for eons.

2) Removing roughly all of the C++11 feature guards from the ADT and
Support headers. Mostly around r-value references now that we have actual
move semantics.

3) Switching a bunch of stuff to std::unique_ptr<>


Let me know if there is anything super scary going on here! Happy hacking!
-Chandler
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140120/df293f18/attachment.html>


More information about the llvm-dev mailing list