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] |
On Sep 23, 2010, at 3:13 PM, David Krauss wrote: > Fair nuff. The elimination of _M_reading/writing was something I anticipated to have a high > risk/reward ratio in the first place… maybe that affected my approach to it. Although the basic > change is mostly accomplished with a search+replace to substitute the function calls for data > members, the secondary changes had a surprising cascade effect. Caching always_noconv > alters the invariants of _M_codecvt. The semantics of _M_post_overflow are unsatisfactory > considering exceptions, so right now I'm working on changing it to _M_need_unshift. That is > also potentially cleaner, but upon trying to debug it, I got hit with a testcase failures, including > an imbue testcase! (Diagnosing that right now.) Turned out I was using _M_codecvt on a closed file. I had to indent all of seekoff to fix the bug, but otherwise no big deal. Test coverage of that case is pretty good! > As I said before embarking on this round, and again in the last message, there are other > things to do. There are a number of tangible benefits to having overflow preserve any > unwritten part of the put area, including the standard specifically requiring it. So I'll try to wrap > this up, post it to the list for posterity, and we can revisit this cluster later. Here it is:
Attachment:
filebuf_state_theworks.patch
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |