C++ PATCH: PR 20599 (1/3)

Howard Hinnant hhinnant@apple.com
Sun Sep 24 23:19:00 GMT 2006


On Sep 24, 2006, at 2:22 PM, Mark Mitchell wrote:

> (a) add C++0x features only with a command-line option (off by  
> default, for now) so that users have to explicitly request the  
> features,
>
> (b) document that option in the manual as enabling experimental  
> features and warning people that C++0x is subject to change, and  
> that the GCC Gimplementation will track the actual standard,  
> without regard for backwards compatibility with previous GCC releases,
>
> (c) refrain from adding a feature until it is actually part of the  
> WP, so that "feature oscillation" is minimized.

Fwiw, I think this is a reasonable approach.  Just a few caveats and  
notes:

(a) Each command-line option should come complete with a preprocessor  
flag so that library code (standard and 3rd party) can test for the  
absence/presence of a feature and react accordingly.

(c) Know that there exist committee members who will ask before  
voting something out of EWG (which is a step or three prior to  
getting into the WP):  Has this been implemented?  If the answer is  
no, no matter how useful or simple the feature is, their vote will be  
no on principle:  Nothing goes into the WP without a reference  
implementation.

That being said, I believe the route Doug has taken both with  
concepts and variadic templates goes a long way towards abating such  
concerns.  Just there may be situations where we want to bend these  
guidelines in the interest of gcc and its customers, as opposed to  
stubbornly following them as if they were law.  I.e. once we accept  
these good guidelines, that should not mean we no longer have to give  
careful thought to what we do and do not add.  We may even dislike a  
feature in the WP enough that we want to delay adding it, in the  
hopes of removing it from the WP prior to standardization.

-Howard



More information about the Gcc-patches mailing list