This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ 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: backwards headers vs. C++0x


Benjamin Kosnik wrote:

> Sadly, we won't really know until removal who is still using these
> headers. It's my suggestion to probe this area a bit: my last suggestion
> allowed for reinstatement, which I think is completely reasonable. We'll
> at least get rid of the unused ones this way.

My concern about this is that it puts the burden on the user; the user
downloads the new toolchain, gets build errors, and then has to get in
touch with us to ask for reinstatement in a subsequent release.  I think
that one of the places where GCC's competitors have outperformed is in
maintaining compatibility over time.

I've removed more than my share of stuff from G++ -- and broken a lot of
code in the process.  I've become more conservative about this over the
years and I think I've sometimes been overly aggressive.  I also think
it's a bit easier to remove undocumented extensions, but documented
extensions are harder.  The backward headers are documented extensions
-- and also documented as deprecated, of course.

It's not that I believe backward/hash_set.h is a great thing, or better
than the TR1 facilities, etc.; it's just that it consists of three
#inlcudes and four using directives, and so it doesn't seem very
expensive to maintain.

I'm not trying to tell you what to do; it's not my place, and I don't
know the right answer.  But, what I am suggesting is that if the only
real cost is leaving the files in the tree, and, perhaps, a few tests to
make sure that the headers still "work", then I think we should consider
leaving them in indefinitely.

Thanks,

-- 
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713


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