]> git.ipfire.org Git - thirdparty/gcc.git/commit
PR libstdc++/92267 fix ABI change in deque iterators
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 29 Oct 2019 17:14:55 +0000 (17:14 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 29 Oct 2019 17:14:55 +0000 (17:14 +0000)
commit4996877aeb42995b44afde07fc1a331ea034b14c
tree2763bec9a60a4b43faf8f43d5a42e922803b59d5
parentc0b05044f007efeed5659bab729555637f8acaf9
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.

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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@277577 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_deque.h
libstdc++-v3/testsuite/23_containers/deque/types/92267.cc [new file with mode: 0644]