This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [PATCH 1/4] Revert "2017-10-04 Petr Ovtchenkov <ptr at void-ptr dot info>"
On Thu, 16 Nov 2017 10:56:29 +0000
Jonathan Wakely <jwakely@redhat.com> wrote:
> On 10/10/17 22:55 +0300, Petr Ovtchenkov wrote:
> >This reverts commit 0dfbafdf338cc6899d146add5161e52efb02c067
> >(svn r253417).
>
> I'm not even going to bother to review patches sent without any
> explanation or rationale for the change.
https://gcc.gnu.org/ml/libstdc++/2017-11/msg00044.html
Along with "violate principles of C++ objects life cycle",
the side-effect is
- Make istreambuf_iterator::_M_sbuf immutable
- streambuf_iterator: avoid debug-dependent behaviour
I should underline, that "_M_sbuf = 0" when istreambuf_iterator
see eof, lead to cripple lifecycle of istreambuf_iterator
object and [almost] block usage of istreambuf_iterator
for entities other then immutable files.
All tests from 24_iterators and 25_algorithms passed,
so I expect it conform to Standard.
This is series of patches, not single patch because
I keep in mind technology aspect---easy transfer
to branches other then trunk.
>
> I will repeat what Paolo said: changing the ABI is not acceptable.
I will repeat special for you:
<snip>
Is we really worry about frozen sizeof of instantiated template?
(Removed private template member).
If yes, than
int_type __dummy;
is our all.
</snip>
I.e. problem can be easy resolved---i.e. ABI will not suffer, if we will
reach some consensus on the main issue.
>