]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/20_util/function/assign/move.cc
Restore dg-interpreter-batch-mode for libstdc++ tests
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 20_util / function / assign / move.cc
CommitLineData
4415f7a5 1// { dg-options "-std=gnu++11" }
7aec2c63 2
818ab71a 3// Copyright (C) 2009-2016 Free Software Foundation, Inc.
7aec2c63
PC
4//
5// This file is part of the GNU ISO C++ Library. This library is free
6// software; you can redistribute it and/or modify it under the
7// terms of the GNU General Public License as published by the
8// Free Software Foundation; either version 3, or (at your option)
9// any later version.
10
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14// GNU General Public License for more details.
15
16// You should have received a copy of the GNU General Public License along
17// with this library; see the file COPYING3. If not see
18// <http://www.gnu.org/licenses/>.
19
20#include <functional>
21#include <testsuite_hooks.h>
22
23int f1() { return 1; }
24struct { int operator()() { return 2; } } f2;
25
26void test01()
27{
28 bool test __attribute__((unused)) = true;
29
30 typedef std::function<int()> function;
31
32 function fo(f1);
33 function fo1;
34 fo1 = (std::move(fo));
35 VERIFY( static_cast<bool>(fo1) );
36 VERIFY( fo1() == 1 );
37
38 fo = function(f2);
39 function fo2;
40 fo2 = (std::move(fo));
41 VERIFY( static_cast<bool>(fo2) );
42 VERIFY( fo2() == 2 );
43}
44
45int main()
46{
47 test01();
48
49 return 0;
50}