]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc
Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 20_util / shared_ptr / assign / auto_ptr_neg.cc
CommitLineData
aaf0ca6f
JW
1// { dg-options "-std=gnu++0x" }
2// { dg-do compile }
3
748086b7 4// Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation
aaf0ca6f
JW
5//
6// This file is part of the GNU ISO C++ Library. This library is free
7// software; you can redistribute it and/or modify it under the
8// terms of the GNU General Public License as published by the
748086b7 9// Free Software Foundation; either version 3, or (at your option)
aaf0ca6f
JW
10// any later version.
11
12// This library is distributed in the hope that it will be useful,
13// but WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15// GNU General Public License for more details.
16
17// You should have received a copy of the GNU General Public License along
748086b7
JJ
18// with this library; see the file COPYING3. If not see
19// <http://www.gnu.org/licenses/>.
aaf0ca6f
JW
20
21// 20.6.6.2 Template class shared_ptr [util.smartptr.shared]
22
23#include <memory>
24#include <testsuite_hooks.h>
25
26struct A { };
27struct B { };
28
29// 20.6.6.2.3 shared_ptr assignment [util.smartptr.shared.assign]
30
31// Assignment from incompatible auto_ptr<Y>
32int
33test01()
34{
35 bool test __attribute__((unused)) = true;
36
37 std::shared_ptr<A> a;
38 std::auto_ptr<B> b;
39 a = b; // { dg-error "here" }
40
41 return 0;
42}
43
44int
45main()
46{
47 test01();
48 return 0;
49}
50// { dg-excess-errors "In constructor" }