DR handling for C++
Mark Mitchell
mark@codesourcery.com
Mon Sep 20 22:59:00 GMT 2004
Matt Austern wrote:
> On Sep 20, 2004, at 1:04 PM, Mark Mitchell wrote:
>
>> I've been asked to provide my input on the handling of DRs in the C++
>> front end.
>>
>> Unfortunately, I don't have the messages from the original thread, so
>> I'm off starting a new thread.
>>
>> I certainly agree with Matt and Nathan that there's no point in
>> supporting C++98 separately from C++03. I also agree that new
>> features in future revisions of C++ should be supported only under a
>> flag. I think that fixes for existing features, however, should be
>> incorporated into the C++03 mode, even if they don't show up in C++03
>> itself. (A "defect repot", after all, is supposed to refer to a bug
>> in the standard.) I think the threshold for incorporating such fixes
>> should be that the fixes are in WP status, in general, although I'd
>> consider other fixes if it seems clear that the commitee is going to
>> accept the change and the change seems important.
>
>
> I'd be unhappy about taking all "WP" changes unconditionally, either
> CWG or LWG.
...
> My concern is that if we implement all issues in "WP" status we'll be
> back in the bad place we were in the late 90s: tracking an unstable
> document, and claiming to implement a "standard" that hasn't actually
> been standardized.
>
> There are some committee issues that ought to be implemented, because
> there are some cases where the standard really is unimplementable,
> vague, meaningless, or contradictory. But at this point there is only
> only official C++ standard, and where that standard is clear and
> consistent our users have a right to expect that we'll follow it.
Aren't we basically in agreement? I think we both agree that we needn't
bother with C++98 separate from C++03. I said above that new features
should require a flag, which I think is what you want too. If there's a
disagreement, it's probably around exactly which non-feature
modifications we should incorporate by default. (For example, should
the enum thing you mentioned be incorporated by default in our C++03
mode?) I think I'd take those on a case-by-case basis, incorporating
those that looked like they were really fixing silly things in C++03,
and deferring those that are not.
In this particular case, I'd think we should accept it with a warning in
C++03 mode. (I think the intent of C++03 was to make that case invalid,
but the standard failed to actually say that. )
--
Mark Mitchell
CodeSourcery, LLC
(916) 791-8304
mark@codesourcery.com
More information about the Gcc
mailing list