]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 30_threads / promise / cons / alloc2.cc
CommitLineData
52066eae 1// { dg-do compile { target c++11 } }
376d7c51 2// { dg-require-gthreads "" }
376d7c51 3
7adcbafe 4// Copyright (C) 2011-2022 Free Software Foundation, Inc.
376d7c51
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
9// Free Software Foundation; either version 3, or (at your option)
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
18// with this library; see the file COPYING3. If not see
19// <http://www.gnu.org/licenses/>.
20
21// Test that promise can be default-constructed or move-constructed
22// in a context that does uses-allocator construction.
23
24#include <future>
25#include <memory>
26#include <tuple>
27
28using std::promise;
29using std::allocator_arg;
30using std::allocator;
31using std::tuple;
32
33typedef promise<int> p;
34typedef promise<int&> pr;
35typedef promise<void> pv;
36allocator<p> a;
37
38tuple<p, pr, pv> t1{ allocator_arg, a };
39tuple<p, pr, pv> t2{ allocator_arg, a, p{}, pr{}, pv{} };