Heads up, C++11 switch mid week!

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!

To boldly go...

Ready and waiting!



How is this coming along? I haven’t seen any updates, and I was hoping that the code randomization patch could use C++11’s header.