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