diff options
Diffstat (limited to 'debian/patches/pr92267.diff')
-rw-r--r-- | debian/patches/pr92267.diff | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/debian/patches/pr92267.diff b/debian/patches/pr92267.diff new file mode 100644 index 0000000..ba05803 --- /dev/null +++ b/debian/patches/pr92267.diff @@ -0,0 +1,55 @@ +# DP: Fix PR libstdc++/92267, taken from the trunk. + +libstdc++-v3/ + +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. + +--- a/src/libstdc++-v3/include/bits/stl_deque.h ++++ b/src/libstdc++-v3/include/bits/stl_deque.h +@@ -164,7 +164,10 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER + : _M_cur(__x._M_cur), _M_first(__x._M_first), + _M_last(__x._M_last), _M_node(__x._M_node) { } + +- _Deque_iterator(const _Deque_iterator&) = default; ++ _Deque_iterator(const _Deque_iterator& __x) noexcept ++ : _M_cur(__x._M_cur), _M_first(__x._M_first), ++ _M_last(__x._M_last), _M_node(__x._M_node) { } ++ + _Deque_iterator& operator=(const _Deque_iterator&) = default; + #endif + +--- /dev/null ++++ b/src/libstdc++-v3/testsuite/23_containers/deque/types/92267.cc +@@ -0,0 +1,27 @@ ++// Copyright (C) 2019 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// You should have received a copy of the GNU General Public License along ++// with this library; see the file COPYING3. If not see ++// <http://www.gnu.org/licenses/>. ++ ++// { dg-do compile { target c++11 } } ++ ++#include <deque> ++ ++using std::deque; ++using std::is_trivially_copy_constructible; ++ ++// PR libstdc++/92267 ++static_assert(!is_trivially_copy_constructible<deque<int>::iterator>::value); ++static_assert(!is_trivially_copy_constructible<deque<int>::const_iterator>::value); |