Summary: LLVM and Clang planning to enable some subset of C++11 *after* the 3.4 release!

See the over 100-email thread on both mailing lists and the commits I just made to the release notes for LLVM and Clang.

A summary from the new section of the release notes:

This is expected to be the last release of LLVM and Clang which compiles using a C++98 toolchain. We expect to start using some C++11 features in LLVM and other sub-projects starting after this release. That said, we are committed to supporting a reasonable set of modern C++ toolchains as the host compiler on all of the platforms. This will at least include Visual Studio 2012 on Windows, and Clang 3.1 or GCC 4.7.x on Mac and Linux. The final set of compilers (and the C++11 features they support) is not set in stone, but we wanted users of LLVM to have a heads up that the next release will involve a substantial change in the host toolchain requirements.

We are still interested in understanding any problems or challenges this will present to users and contributors to LLVM and Clang, so don’t feel like the discussion is over or the decision can never be reversed. =] I look forward to your comments, but consider at least skimming the previous thread to avoid repetition. (I know its too long…)

-Chandler (your resident trouble maker)

In article <CAGCO0Kh8xPMHt7PfJ2gWt+EUh1tdKNA7xAX4XJYw0jWwzOqoDQ@mail.gmail.com>,
    Chandler Carruth <chandlerc@google.com> writes:

We are still interested in understanding any problems or challenges this
will present to users and contributors to LLVM and Clang, so don't feel
like the discussion is over or the decision can never be reversed. =] I
look forward to your comments, but consider at least skimming the previous
thread to avoid repetition. (I know its too long....)

We've had urls pointing to tables of feature sets that are supported
across all the tool chains of interest.

What if we created a simple file in unit test form that contained examples
of the minimal support and included that in the build?

Then buildbots would tell us whether or not our idea of minimal
support works in practice?

If there's a C++11 feature you want to use, you can add it to this
file and let buildbots tell you if it is going to work.

I'm not sure how the buildbots are set up for clang; where I work we
have a way of invoking the buildbots on my changes that are not yet in
the master repository. Since clang uses subversion instead of a
distributed VCS, I'm not sure how/if this would work.