]> gcc.gnu.org Git - gcc.git/commit
PR libstdc++/92267 fix ABI change in deque iterators
authorJonathan Wakely <jwakely@redhat.com>
Fri, 22 Nov 2019 12:36:18 +0000 (12:36 +0000)
committerJakub Jelinek <jakub@redhat.com>
Wed, 22 Jan 2020 20:06:03 +0000 (21:06 +0100)
commite8171caf29b01acbfa9fd368bd44af43b1600dd7
tree00a9c9332fa0dcd209339b2bb23a627edeebcbc5
parent5f069d7829e8652cf2b4b0247b10f5a0d3e50e16
PR libstdc++/92267 fix ABI change in deque iterators

Defaulting the copy constructor on its first declaration made it change
from user-provided (and non-trivial) to implicitly-defined (and
trivial). This caused an ABI incompatibility between GCC 8 and GCC 9,
where functions taking a deque iterator disagree on the argument passing
convention.

Backport from mainline
2019-10-29  Jonathan Wakely  <jwakely@redhat.com>

PR libstdc++/92267
* include/bits/stl_deque.h (_Deque_iterator(const _Deque_iterator&)):
Do not define as defaulted.
* testsuite/23_containers/deque/types/92267.cc: New test.
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_deque.h
libstdc++-v3/testsuite/23_containers/deque/types/92267.cc [new file with mode: 0644]
This page took 0.06313 seconds and 6 git commands to generate.