199be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant//===----------------------------------------------------------------------===//
299be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant//
399be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant//                     The LLVM Compiler Infrastructure
499be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant//
5b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// This file is dual licensed under the MIT and the University of Illinois Open
6b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// Source Licenses. See LICENSE.TXT for details.
799be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant//
899be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant//===----------------------------------------------------------------------===//
97112dae6acac544a0271a85d95342c583441e2d1Dan Albert//
107112dae6acac544a0271a85d95342c583441e2d1Dan Albert// UNSUPPORTED: libcpp-has-no-threads
1199be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant
1299be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant// <future>
1399be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant
1499be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant// class shared_future<R>
1599be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant
1699be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant// shared_future();
1799be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant
1899be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant#include <future>
1999be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant#include <cassert>
2099be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant
2199be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnantint main()
2299be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant{
2399be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant    {
2499be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant        std::shared_future<int> f;
2599be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant        assert(!f.valid());
2699be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant    }
2799be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant    {
2899be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant        std::shared_future<int&> f;
2999be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant        assert(!f.valid());
3099be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant    }
3199be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant    {
3299be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant        std::shared_future<void> f;
3399be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant        assert(!f.valid());
3499be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant    }
3599be8237db0c69ea05bb82bbb8fc8a2273c05743Howard Hinnant}
36