This is the mail archive of the
mailing list for the libstdc++ project.
Update on some PRs I'm working on
- From: Paolo Carlini <pcarlini at unitus dot it>
- To: "libstdc++ at gcc dot gnu dot org" <libstdc++ at gcc dot gnu dot org>
- Date: Tue, 04 Mar 2003 15:59:33 +0100
- Subject: Update on some PRs I'm working on
I'd like to summarize here the current status of a few PR of
which I'm responsible and which I'm actively working on in
- 9533 (7774)
This is the new entry. I have to thank Pétur for suggesting
to put the fix inside showmanyc and, as often happens, Nathan
for many details about the system calls which can do the work.
The general scheme is quite clear, now, and a nice surprise is
that these changes would also fix the long-standing 7774.
This is apparently the easiest one by far: we have just to
destroy the internal buffer when is_open() is true. However,
regtesting revealed a surprise: filebuf_virtuals.cc, test5
calls setbuf(0, 0) _after_ open(), leading to undefined
In fact, those calls are moot currently, and that's why all
the next read and write succeed, but fixing 9423 exposes...
That is, our current inability to do unbuffered reads. As I
wrote in the audit trail, fixing this one for plain chars
turns out to be quite easy: just add to _M_underflow_common(char)
an additional case, which does a _M_file.xsgetn(&__c, 1)
, then, possibly, a seekoff(-1, ...) if !__pumb, the returns
__c. It works, already tested together with the fix for 9423.
Fixing also the wchar_t case is more tricky, but I can do it
soon for encodings >=1. This leads us to...
- 9875 and 9178
These are both about deficiencies for encodings > 1. They are
not too difficult to fix, IMO. I have already the fixes for
9875, except the underflow bits (yesterday Pétur provided some
testcases which I asked). Indeed, _M_underflow_common(wchar_t)
has to be heavily patched to fix 9024, 9178 and 9875. But this
can be done, or better, I believe I can do it, since what
really scares me is the encodings <= 0 case, about which I
don't know much from a theoretical point of view, but its
outside the realm of those PR... ;)
That's it. Now I'd like to ask your opinion, in particular about
priorities (otherwise the order above is roughly that which
I will follow in time), and suggestions about fixing 9024,
9178 and 9875 without writing code which will have to be
reworked completely for encodings <= 0.
Thanks in advance for any feedback,