This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]