[PATCH] libstdc++: Back out some changes in P2325R3 backport [PR103904]
Jonathan Wakely
jwakely.gcc@gmail.com
Fri Feb 11 19:47:45 GMT 2022
On Fri, 11 Feb 2022, 17:11 Patrick Palka via Libstdc++, <
libstdc++@gcc.gnu.org> wrote:
> On Fri, 11 Feb 2022, Patrick Palka wrote:
>
> > In the P2325R3 backport r11-9555 the relaxation of the constraints on
> > the partial specialization of __box (which is semantically equivalent to
> > the primary template, only more space efficient) means some
> > specializations of __box will now use the partial specialization instead
> > of the primary template, which (IIUC) constitutes an ABI change
> unsuitable
> > for a release branch. This patch reverts this constraint change, which
> > isn't needed for correctness anyway.
> >
> > Similarly the change to use __non_propagating_cache for the data member
> > split_view::_M_current (so that it's always default-initializable) also
> > constitutes an unsuitable ABI change. This patch reverts this change
> > too, and instead further constrains split_view's default constructor to
> > require that we can default-initialize _M_current.
>
> Forgot to clarify that this is for the 11 branch, tested on
> x86_64-pc-linux-gnu. Does this look reasonable? I noticed these
> issues while backporting r11-9555 to the 10 branch, which doesn't have
> __non_propagating_cache or the partial specialization of __box.
>
Yes, thanks for spotting the problem. OK for gcc-11.
More information about the Libstdc++
mailing list