Transform the libc++ coroutine shell tests into normal .pass.cpp tests.
The shell test versions didn't get all of the flags normal tests do, specifically warning flags. This patch makes them .pass.cpp tests, and uses a lit.local.cfg to add -fcoroutines-ts and to make them UNSUPPORTED when that flag isn't available. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@304351 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
// <experimental/coroutine>
|
// <experimental/coroutine>
|
||||||
|
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
// <experimental/coroutine>
|
// <experimental/coroutine>
|
||||||
|
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
// <experimental/coroutine>
|
// <experimental/coroutine>
|
||||||
|
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
// <experimental/coroutine>
|
// <experimental/coroutine>
|
||||||
|
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
// <experimental/coroutine>
|
// <experimental/coroutine>
|
||||||
|
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
// <experimental/coroutine>
|
// <experimental/coroutine>
|
||||||
|
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
// <experimental/coroutine>
|
// <experimental/coroutine>
|
||||||
|
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
// <experimental/coroutine>
|
// <experimental/coroutine>
|
||||||
|
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
// <experimental/coroutine>
|
// <experimental/coroutine>
|
||||||
|
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
// <experimental/coroutine>
|
// <experimental/coroutine>
|
||||||
|
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
// <experimental/coroutine>
|
// <experimental/coroutine>
|
||||||
|
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
// <experimental/coroutine>
|
// <experimental/coroutine>
|
||||||
|
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
#include <experimental/coroutine>
|
#include <experimental/coroutine>
|
||||||
|
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
#include <experimental/coroutine>
|
#include <experimental/coroutine>
|
||||||
|
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
#include <experimental/coroutine>
|
#include <experimental/coroutine>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
@@ -70,4 +66,8 @@ int main()
|
|||||||
static_assert(std::is_trivially_copyable<S>::value, "");
|
static_assert(std::is_trivially_copyable<S>::value, "");
|
||||||
static_assert(check_suspend_constexpr(), "");
|
static_assert(check_suspend_constexpr(), "");
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
// suppress unused warnings for the global constexpr test variable
|
||||||
|
((void)constexpr_sa);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
#include <experimental/coroutine>
|
#include <experimental/coroutine>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
@@ -72,4 +68,8 @@ int main()
|
|||||||
static_assert(std::is_trivially_copyable<S>::value, "");
|
static_assert(std::is_trivially_copyable<S>::value, "");
|
||||||
static_assert(check_suspend_constexpr(), "");
|
static_assert(check_suspend_constexpr(), "");
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
// suppress unused warnings for the global constexpr test variable
|
||||||
|
((void)constexpr_sn);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
#include <experimental/coroutine>
|
#include <experimental/coroutine>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
@@ -58,6 +54,7 @@ coro_t f(int n) {
|
|||||||
co_return;
|
co_return;
|
||||||
}
|
}
|
||||||
int val = co_await A{};
|
int val = co_await A{};
|
||||||
|
((void)val);
|
||||||
set_value(42);
|
set_value(42);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9,14 +9,10 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// FIXME: When run under UBSAN this test hits an assertion inside Clang
|
// FIXME: When run under UBSAN this test hits an assertion inside Clang
|
||||||
// XFAIL: ubsan
|
// XFAIL: ubsan
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
#include <experimental/coroutine>
|
#include <experimental/coroutine>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
#include <experimental/coroutine>
|
#include <experimental/coroutine>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
#include <experimental/coroutine>
|
#include <experimental/coroutine>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
@@ -67,6 +63,7 @@ coro2 a() {
|
|||||||
assert(alive == 1);
|
assert(alive == 1);
|
||||||
assert(ctor_called == 1);
|
assert(ctor_called == 1);
|
||||||
assert(dtor_called == 0);
|
assert(dtor_called == 0);
|
||||||
|
((void)x);
|
||||||
}
|
}
|
||||||
assert(alive == 0);
|
assert(alive == 0);
|
||||||
assert(dtor_called == 1);
|
assert(dtor_called == 1);
|
||||||
@@ -75,7 +72,8 @@ coro2 a() {
|
|||||||
coro2 b() {
|
coro2 b() {
|
||||||
reset();
|
reset();
|
||||||
{
|
{
|
||||||
co_await Bug{};
|
auto x = co_await Bug{};
|
||||||
|
((void)x);
|
||||||
assert(ctor_called == 1);
|
assert(ctor_called == 1);
|
||||||
assert(dtor_called == 1);
|
assert(dtor_called == 1);
|
||||||
assert(alive == 0);
|
assert(alive == 0);
|
||||||
@@ -102,7 +100,8 @@ coro2 c() {
|
|||||||
coro2 d() {
|
coro2 d() {
|
||||||
reset();
|
reset();
|
||||||
{
|
{
|
||||||
co_yield 42;
|
auto x = co_yield 42;
|
||||||
|
((void)x);
|
||||||
assert(ctor_called == 1);
|
assert(ctor_called == 1);
|
||||||
assert(dtor_called == 1);
|
assert(dtor_called == 1);
|
||||||
assert(alive == 0);
|
assert(alive == 0);
|
||||||
@@ -9,14 +9,10 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// FIXME: When run under UBSAN this test hits an assertion inside Clang
|
// FIXME: When run under UBSAN this test hits an assertion inside Clang
|
||||||
// XFAIL: ubsan
|
// XFAIL: ubsan
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
#include <experimental/coroutine>
|
#include <experimental/coroutine>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
#include <experimental/coroutine>
|
#include <experimental/coroutine>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
@@ -166,9 +162,7 @@ goroutine pusher(channel& left, channel& right)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const int N = 100; //100'000'000;
|
const int N = 100;
|
||||||
const int repeat = 1;
|
|
||||||
|
|
||||||
channel* c = new channel[N + 1];
|
channel* c = new channel[N + 1];
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
#include <experimental/coroutine>
|
#include <experimental/coroutine>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
#include <experimental/coroutine>
|
#include <experimental/coroutine>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
@@ -9,10 +9,6 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// UNSUPPORTED: c++98, c++03, c++11
|
// UNSUPPORTED: c++98, c++03, c++11
|
||||||
// REQUIRES: fcoroutines-ts
|
|
||||||
|
|
||||||
// RUN: %build -fcoroutines-ts
|
|
||||||
// RUN: %run
|
|
||||||
|
|
||||||
// <experimental/coroutine>
|
// <experimental/coroutine>
|
||||||
|
|
||||||
@@ -20,8 +16,6 @@
|
|||||||
|
|
||||||
#include <experimental/coroutine>
|
#include <experimental/coroutine>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int main(){
|
int main(){
|
||||||
// std::nothrow is not implicitly defined by the compiler when the include is
|
// std::nothrow is not implicitly defined by the compiler when the include is
|
||||||
// missing, unlike other parts of <new>. Therefore we use std::nothrow to
|
// missing, unlike other parts of <new>. Therefore we use std::nothrow to
|
||||||
Reference in New Issue
Block a user