summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/thread
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2016-06-30 05:00:32 +0000
committerEric Fiselier <eric@efcs.ca>2016-06-30 05:00:32 +0000
commitd3c2acd38c3976ebfd14fa92bb812c83cb9ca8e8 (patch)
treeb9b8c9a04ff954c44e929b7f0155a2d079b6e6b7 /libcxx/test/std/thread
parentb21f96ac4b8cbc1d46f21c84b166b88c7d2e636c (diff)
downloadbcm5719-llvm-d3c2acd38c3976ebfd14fa92bb812c83cb9ca8e8.tar.gz
bcm5719-llvm-d3c2acd38c3976ebfd14fa92bb812c83cb9ca8e8.zip
Make futures.overview enum tests more portable. Patch from STL@microsoft.com
llvm-svn: 274211
Diffstat (limited to 'libcxx/test/std/thread')
-rw-r--r--libcxx/test/std/thread/futures/futures.overview/future_errc.pass.cpp23
-rw-r--r--libcxx/test/std/thread/futures/futures.overview/launch.pass.cpp2
2 files changed, 16 insertions, 9 deletions
diff --git a/libcxx/test/std/thread/futures/futures.overview/future_errc.pass.cpp b/libcxx/test/std/thread/futures/futures.overview/future_errc.pass.cpp
index 1e6fcb76a0e..b95a88ee2d0 100644
--- a/libcxx/test/std/thread/futures/futures.overview/future_errc.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.overview/future_errc.pass.cpp
@@ -13,18 +13,25 @@
// enum class future_errc
// {
-// future_already_retrieved = 1,
-// promise_already_satisfied,
-// no_state
-// broken_promise,
+// broken_promise = implementation-defined,
+// future_already_retrieved = implementation-defined,
+// promise_already_satisfied = implementation-defined,
+// no_state = implementation-defined
// };
#include <future>
int main()
{
- static_assert(static_cast<int>(std::future_errc::future_already_retrieved) == 1, "");
- static_assert(static_cast<int>(std::future_errc::promise_already_satisfied) == 2, "");
- static_assert(static_cast<int>(std::future_errc::no_state) == 3, "");
- static_assert(static_cast<int>(std::future_errc::broken_promise) == 4, "");
+ static_assert(std::future_errc::broken_promise != std::future_errc::future_already_retrieved, "");
+ static_assert(std::future_errc::broken_promise != std::future_errc::promise_already_satisfied, "");
+ static_assert(std::future_errc::broken_promise != std::future_errc::no_state, "");
+ static_assert(std::future_errc::future_already_retrieved != std::future_errc::promise_already_satisfied, "");
+ static_assert(std::future_errc::future_already_retrieved != std::future_errc::no_state, "");
+ static_assert(std::future_errc::promise_already_satisfied != std::future_errc::no_state, "");
+
+ static_assert(std::future_errc::broken_promise != static_cast<std::future_errc>(0), "");
+ static_assert(std::future_errc::future_already_retrieved != static_cast<std::future_errc>(0), "");
+ static_assert(std::future_errc::promise_already_satisfied != static_cast<std::future_errc>(0), "");
+ static_assert(std::future_errc::no_state != static_cast<std::future_errc>(0), "");
}
diff --git a/libcxx/test/std/thread/futures/futures.overview/launch.pass.cpp b/libcxx/test/std/thread/futures/futures.overview/launch.pass.cpp
index bf75fe4fa2c..a26b01f67b3 100644
--- a/libcxx/test/std/thread/futures/futures.overview/launch.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.overview/launch.pass.cpp
@@ -32,7 +32,7 @@ int main()
LIBCPP_STATIC_ASSERT(std::launch::any == (std::launch::async | std::launch::deferred), "");
static_assert(std::launch(0) == (std::launch::async & std::launch::deferred), "");
LIBCPP_STATIC_ASSERT(std::launch::any == (std::launch::async ^ std::launch::deferred), "");
- static_assert(std::launch::deferred == ~std::launch::async, "");
+ LIBCPP_STATIC_ASSERT(std::launch::deferred == ~std::launch::async, "");
std::launch x = std::launch::async;
x &= std::launch::deferred;
assert(x == std::launch(0));
OpenPOWER on IntegriCloud