> 6. Use of C++11. There are quite a few goodies in the language nowadays > that look very interesting. We should identify a few ones that would really > help us, and double check with the compilers we need to support which > ones we could actually use, and then decide on whether we should, or not. > For that, input on which compilers people actually use, and which they > really need to use to compile Creator would be beneficial.
To start the discussion on that, see http://wiki.apache.org/stdcxx/C++0xCompilerSupport for an idea of which compilers support which feature. Both g++ 4.8 and clang 3.3 support all of c++11, the Microsoft compiler lacks quite a bit. (Btw, cl 11.0 == VS2012, cl 10 == VS2010). Does anyone use any other compiler to compile Creator? If so, you should speak up now. >From that table it is also pretty clear that the main limiting factor is >Visual Studio. If we set the minimum supported version at Visual Studio 2008, then we can't make use of any C++11 features. If we move the minimum version to Visual Studio 2010, then the following features are supported (straight from the table): auto (g++ 4.4; clang 2.9) decltype (g++ 4.3, clang 2.9) lambda (g++ 4.5, clang 3.1) Local and Unnamed Types as Template Arguments (g++ 4.5, clang 2.9) New function declaration syntax for deduced return types (g++ 4.4, clang 2.9) nullptr (g++ 4.6, clang 2.9) r-Value References, std::move (g++ 4.5, clang 2.9) static_assert (g++ 4.3, clang 2.9) clang 2.9 was released 7.4.2011 clang 3.1 was released 22.5.2012 g++ 4.6 was released 25.3.2011 I think we can't yet require Visual Studio 2012, so that leaves us imho with two options: Minimum version: VS2010, clang 2.9, g++ 4.6 => auto, decltype, r-value, static_assert or Minimum version: VS2010, clang 3.1, g++4.6 => the above + lambda I vastly prefer the second one. daniel _______________________________________________ Qt-creator mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/qt-creator
