This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
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