Il 27/06/2012 23:41, Martin Gräßlin ha scritto:
On Wednesday 27 June 2012 23:28:30 Ivan Čukić wrote:
Hi all,
I've tested the waters some time ago [1] what would people say if we
started asking for more modern compilers. I've stated there I'll start
the discussion on k-c-d once we branch out 4.9, so I'm doing as
promised. The post was only about kactivities, but the same could be
applied to more stuff.
Thanks for bringing up the issue, I actually intended to write a similar mail
tomorrow to request that applications are allowed to require compilers
supporting C++11 features.
actually for stability and feature related to c++11 gcc-4.7 is nearly
the minimum, but in my experience gcc-4.7 is still a bit rough so +1 for
gcc-4.6
So +1 for a minimum requirement of gcc 4.6 or clang 3.1
diff between
http://gcc.gnu.org/gcc-4.6/cxx0x_status.html
and
http://gcc.gnu.org/gcc-4.7/cxx0x_status.html
--- cxx0x-gcc-46.txt 2012-06-28 14:33:15.058728078 +0200
+++ cxx0x-gcc-47.txt 2012-06-28 14:33:16.198733511 +0200
@@ -1,27 +1,27 @@
- Status of Experimental C++0x Support in GCC 4.6
+ Status of Experimental C++11 Support in GCC 4.7
- GCC provides experimental support for the upcoming ISO C++
- standard, C++0x. This support can be enabled with the -std=c++0x
- or -std=gnu++0x compiler options; the former disables GNU
- extensions.
+ GCC provides experimental support for the 2011 ISO C++ standard.
+ This support can be enabled with the -std=c++11 or -std=gnu++11
+ compiler options; the former disables GNU extensions.
- GCC's C++0x mode tracks the C++0x working paper drafts produced
- by the ISO C++ committee, available on the ISO C++ committee's
+ GCC's C++11 mode implements much of the C++11 standard produced
+ by the ISO C++ committee. The standard is available from various
+ national standards bodies; working papers from before the
+ release of the standard are available on the ISO C++ committee's
web site at [1]http://www.open-std.org/jtc1/sc22/wg21/. Since
- this standard is still being extended and modified, the feature
- set provided by the experimental C++0x mode may vary greatly
- from one GCC version to another. No attempts will be made to
- preserve backward compatibility with C++0x features whose
- semantics have changed during the course of C++0x
- standardization.
+ this standard has only recently been completed, the feature set
+ provided by the experimental C++11 mode may vary greatly from
+ one GCC version to another. No attempts will be made to preserve
+ backward compatibility with C++11 features whose semantics have
+ changed during the course of C++11 standardization.
- The following table lists which C++0x features are supported in
- this release of GCC. For more information about C++0x support in
- GCC, please see the [2]C++0x in GCC project page.
+ The following table lists which C++11 features are supported in
+ this release of GCC. For more information about C++11 support in
+ GCC, please see the [2]C++11 in GCC project page.
+--------------------------------------------------------------+
| Language Feature | Proposal | Available in |
- | | | GCC 4.6? |
+ | | | GCC 4.7? |
|---------------------------------+-----------+----------------|
| Rvalue references | [3]N2118 | Yes |
|---------------------------------+-----------+----------------|
@@ -30,7 +30,7 @@
| Initialization of class objects | [5]N1610 | Yes |
| by rvalues | | |
|---------------------------------+-----------+----------------|
- | Non-static data member | [6]N2756 | No |
+ | Non-static data member | [6]N2756 | Yes |
| initializers | | |
|---------------------------------+-----------+----------------|
| Variadic templates | [7]N2242 | Yes |
@@ -52,7 +52,7 @@
| New function declarator | [14]N2541 | Yes |
| syntax | | |
|---------------------------------+-----------+----------------|
- | New wording for C++0x lambdas | [15]N2927 | Yes |
+ | New wording for C++11 lambdas | [15]N2927 | Yes |
|---------------------------------+-----------+----------------|
| Declared type of an expression | [16]N2343 | Yes |
|---------------------------------+-----------+----------------|
@@ -64,7 +64,7 @@
| Solving the SFINAE problem for | [19]DR339 | Yes |
| expressions | | |
|---------------------------------+-----------+----------------|
- | Template aliases | [20]N2258 | No |
+ | Template aliases | [20]N2258 | Yes |
|---------------------------------+-----------+----------------|
| Extern templates | [21]N1987 | Yes |
|---------------------------------+-----------+----------------|
@@ -81,7 +81,7 @@
|---------------------------------+-----------+----------------|
| Alignment support | [27]N2341 | No |
|---------------------------------+-----------+----------------|
- | Delegating constructors | [28]N1986 | No |
+ | Delegating constructors | [28]N1986 | Yes |
|---------------------------------+-----------+----------------|
| Inheriting constructors | [29]N2540 | No |
|---------------------------------+-----------+----------------|
@@ -96,13 +96,13 @@
| Universal character name | [34]N2170 | Yes |
| literals | | |
|---------------------------------+-----------+----------------|
- | Extensible literals | [35]N2765 | No |
+ | User-defined literals | [35]N2765 | Yes |
|---------------------------------+-----------+----------------|
| Standard Layout Types | [36]N2342 | Yes |
|---------------------------------+-----------+----------------|
| Defaulted and deleted functions | [37]N2346 | Yes |
|---------------------------------+-----------+----------------|
- | Extended friend declarations | [38]N1791 | No |
+ | Extended friend declarations | [38]N1791 | Yes |
|---------------------------------+-----------+----------------|
| Extending sizeof | [39]N2253 | Yes |
|---------------------------------+-----------+----------------|
@@ -115,7 +115,7 @@
|---------------------------------+-----------+----------------|
| Range-based for | [43]N2930 | Yes |
|---------------------------------+-----------+----------------|
- | Explicit virtual overrides | [44]N2928 | No |
+ | Explicit virtual overrides | [44]N2928 | Yes |
|---------------------------------+-----------+----------------|
| Minimal support for garbage | | |
| collection and | [45]N2670 | No |
@@ -156,7 +156,7 @@
| Dynamic initialization and | [58]N2660 | No |
| destruction with concurrency | | |
|--------------------------------------------------------------|
- | C99 Features in C++0x |
+ | C99 Features in C++11 |
|--------------------------------------------------------------|
| __func__ predefined identifier | [59]N2340 | Yes |
|---------------------------------+-----------+----------------|