Name |
Last commit
|
Last update |
---|---|---|
.. | ||
backward | ||
bits | ||
c | ||
c_compatibility | ||
c_global | ||
c_std | ||
debug | ||
decimal | ||
experimental | ||
ext | ||
parallel | ||
precompiled | ||
pstl | ||
std | ||
tr1 | ||
tr2 | ||
Makefile.am | ||
Makefile.in |
Since LWG 445 was implemented for GCC 4.7, the std::iterator base class of std::istreambuf_iterator changes type depending on the -std mode used. This creates an ABI incompatibility between different -std modes. This change ensures the base class always has the same type. This makes layout for C++98 compatible with the current -std=gnu++14 default, but no longer compatible with C++98 code from previous releases. In practice this is unlikely to cause real problems, because it only affects the layout of types with two std::iterator base classes, one of which comes from std::istreambuf_iterator. Such types are expected to be vanishingly rare. PR libstdc++/92285 * include/bits/streambuf_iterator.h (istreambuf_iterator): Make type of base class independent of __cplusplus value. [__cplusplus < 201103L] (istreambuf_iterator::reference): Override the type defined in the base class * testsuite/24_iterators/istreambuf_iterator/92285.cc: New test. * testsuite/24_iterators/istreambuf_iterator/requirements/ base_classes.cc: Adjust expected base class for C++98. From-SVN: r280116
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
backward | Loading commit data... | |
bits | Loading commit data... | |
c | Loading commit data... | |
c_compatibility | Loading commit data... | |
c_global | Loading commit data... | |
c_std | Loading commit data... | |
debug | Loading commit data... | |
decimal | Loading commit data... | |
experimental | Loading commit data... | |
ext | Loading commit data... | |
parallel | Loading commit data... | |
precompiled | Loading commit data... | |
pstl | Loading commit data... | |
std | Loading commit data... | |
tr1 | Loading commit data... | |
tr2 | Loading commit data... | |
Makefile.am | Loading commit data... | |
Makefile.in | Loading commit data... |