------- Comment #25 from mark at codesourcery dot com  2008-01-16 22:27 -------
Subject: Re:  [4.3 Regression] Revision 129442 breaks
 libstc++ API

bkoz at gcc dot gnu dot org wrote:

> I believe there is a bit of a bias here, in that it's OK to make FE changes,
> but even well-documented and warned lib changes are not ok? What's up with
> that? I assert the right to make API changes, including removal of deprecated
> items.

No, as I've said before, I think the C++ maintainers -- mostly me! --
were just plain wrong about some of the changes made.

I think that some of the changes that were made were necessary because
they were the only way to increase our ability to accept correct,
conformance code.  In other words, sometimes we had to choose between
backwards-compatibility and correctness.  In those cases, I think we
were right to choose correctness.

In other cases, we could have kept compatibility, but didn't.  In some
of those cases, I think we -- and again, mostly, be "we" I mean "I"! --
didn't try hard enough to keep backwards compatibility.  We've being
punished for that.  (Note that there's a recent discussion about making
things that are errors by default into warnings by default -- thereby
making the compiler more lenient.)

My -- possibly incorrect -- understanding is that in this case the
problem with the old headers is not that it prevents implementation of
an ISO-conformant C++ library,  but just that they're a pain to keep
around.  My feeling is that we should be very reluctant to break
backwards compatibility "for maintenance reasons".

Fedora (or any other GNU/Linux distribution) packages are not a good
measure of the problem.  They're good sample of free and/or open-source
codebases compiled with G++, but they're a poor sample of all code
compiled with G++.  We see a lot of dusty-deck C++ code.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33831

Reply via email to