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]

Update on some PRs I'm working on


Hi everyone,

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
these days.

- 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.

- 9423
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
behaviour.
In fact, those calls are moot currently, and that's why all
the next read and write succeed, but fixing 9423 exposes...

- 9024
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,
Paolo.


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