]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc
libstdc++: Disable hosted-only tests [PR103626]
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 20_util / shared_ptr / assign / auto_ptr_rvalue.cc
CommitLineData
52066eae 1// { dg-options "-Wno-deprecated" }
07b70dfc 2// { dg-add-options using-deprecated }
52066eae 3// { dg-do compile { target c++11 } }
7cc9022f 4// { dg-require-effective-target hosted }
aaf0ca6f 5
7adcbafe 6// Copyright (C) 2008-2022 Free Software Foundation, Inc.
aaf0ca6f
JW
7//
8// This file is part of the GNU ISO C++ Library. This library is free
9// software; you can redistribute it and/or modify it under the
10// terms of the GNU General Public License as published by the
748086b7 11// Free Software Foundation; either version 3, or (at your option)
aaf0ca6f
JW
12// any later version.
13
14// This library is distributed in the hope that it will be useful,
15// but WITHOUT ANY WARRANTY; without even the implied warranty of
16// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17// GNU General Public License for more details.
18
19// You should have received a copy of the GNU General Public License along
748086b7
JJ
20// with this library; see the file COPYING3. If not see
21// <http://www.gnu.org/licenses/>.
aaf0ca6f 22
640cbe76 23// 20.7.12.2 Template class shared_ptr [util.smartptr.shared]
aaf0ca6f
JW
24
25#include <memory>
aaf0ca6f
JW
26
27struct A { };
28std::auto_ptr<A> source() { return std::auto_ptr<A>(); }
29
640cbe76 30// 20.7.12.2.3 shared_ptr assignment [util.smartptr.shared.assign]
aaf0ca6f
JW
31
32// Assignment from rvalue auto_ptr
6f3b8891 33void
aaf0ca6f
JW
34test01()
35{
aaf0ca6f 36 std::shared_ptr<A> a;
640cbe76 37 a = source();
640cbe76
JW
38}
39
6f3b8891 40void
640cbe76
JW
41test02()
42{
640cbe76
JW
43 std::shared_ptr<A> a;
44 std::auto_ptr<A> au;
45 a = std::move(au);
aaf0ca6f
JW
46}
47
9bd87e38 48int
aaf0ca6f
JW
49main()
50{
51 test01();
640cbe76 52 test02();
aaf0ca6f
JW
53 return 0;
54}