> > > There are several small libstdc++-v2 patches that seem fine and without > > > risk (get rid of warnings, throw exception instead of abort on out > > > of memory if STL malloc_alloc is used). > > > > These were submitted to the gcc-2.95.3 release manager. > > So far I haven't applied those. I'm no C++ expert, and removing warnings > doesn't seem critical enough for me to risk breaking an area I don't > understand well.
OK, I've now reviewed them in more detail, and I am a C++ expert. libstdc++-bastring.dpatch, libstdc++-wstring.dpatch: do NOT include these. They are attempts to make wide strings work, and they don't suffice to do the job as best I can tell, they just do enough to get code to compile that will then malfunction. Even the comments on the patches reveal that they were not really tested. It's better to leave it the way it is and give users explicit errors. Debian should probably revert these patches as well. libstdc++-deque.dpatch: please DO include this. This is a one-line patch from Martin von Loewis. Without it, deque::const_iterator is unusable. libstdc++-wall3.dpatch: please DO include this. Without this patch, users who use deque or rope will get a cascade of warnings, bad enough so that they won't be able to use warnings at all. Ordinarily warnings are no big deal, but in the case of system headers they can be a real problem. The patch is completely safe, all it does is rearrange order of initializers and add some explicit casts, no other code is changed.

