On 25 April 2012 08:08, Mailaripillai, Kannan Jeganathan wrote: > Thanks Marc Glisse. > >> The flag -std=c++0x is already deprecated, that's why it isn't documented >> anymore... > > I understand that option c++0x is mentioned in 4.6.3 manual. It is not > mentioned in 4.7.0 manual. But 4.7.0 compiler accepts the option c++0x > without any warning (saying it is deprecated). We don't usually issue warnings about using deprecated options. > My concern is that anyone moving from 4.6.3 to 4.7.0 will continue to use > c++0x (unless they read the manual). But when we decide (say in 4.8.0) to > remove c++0x from the valid argument list for -std, it will be a surprise > for the end user as he is not notified prior to that (say in 4.7.0, through > the compiler itself). > > I do not know the usual procedure (in gcc) followed to > deprecate (stop accepting) any options. I would have followed the procedure: > > 1. Emit (deprecation) warning for usage of c++0x in 4.7.0 compiler. That annoys people who know it's deprecated but want to use the same options for 4.6 and 4.7 > 2. Have a note (in 4.7.0 manual) about the deprecation of c++0x in upcoming > (say 4.7.2 or 4.8.0) release. We don't know when it will stop being accepted, so can't list a release in the manual. > 3. Deprecate (stop accepting) the option in future release (say 4.7.2) When it happens it will be 4.x.0 not 4.7.x and the relevant release notes will announce it, e.g. http://gcc.gnu.org/gcc-4.7/changes.html announces that -std=c++11 is accepted. I think it's too early to start talking about removing it, and I don't see any harm leaving -std=c++0x as an undocumented option for the time being.