diff --git a/libcxx/test/libcxx/experimental/language.support/support.coroutines/dialect_support.pass.cpp b/libcxx/test/libcxx/experimental/language.support/support.coroutines/dialect_support.pass.cpp --- a/libcxx/test/libcxx/experimental/language.support/support.coroutines/dialect_support.pass.cpp +++ b/libcxx/test/libcxx/experimental/language.support/support.coroutines/dialect_support.pass.cpp @@ -25,7 +25,7 @@ struct promise_type { typedef coro::coroutine_handle HandleT; coro::suspend_never initial_suspend() { return sn; } - coro::suspend_always final_suspend() { return sa; } + coro::suspend_always final_suspend() noexcept { return sa; } coro::suspend_never yield_value(int) { return sn; } MyFuture get_return_object() { MyFuture f(HandleT::from_promise(*this)); diff --git a/libcxx/test/std/experimental/language.support/support.coroutines/coroutine.handle/coroutine.handle.prom/promise.pass.cpp b/libcxx/test/std/experimental/language.support/support.coroutines/coroutine.handle/coroutine.handle.prom/promise.pass.cpp --- a/libcxx/test/std/experimental/language.support/support.coroutines/coroutine.handle/coroutine.handle.prom/promise.pass.cpp +++ b/libcxx/test/std/experimental/language.support/support.coroutines/coroutine.handle/coroutine.handle.prom/promise.pass.cpp @@ -32,7 +32,7 @@ void unhandled_exception() {} void return_void() {} coro::suspend_never initial_suspend() { return {}; } - coro::suspend_never final_suspend() { return {}; } + coro::suspend_never final_suspend() noexcept { return {}; } MyCoro get_return_object() { do_runtime_test(); return {}; diff --git a/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/await_result.pass.cpp b/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/await_result.pass.cpp --- a/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/await_result.pass.cpp +++ b/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/await_result.pass.cpp @@ -23,7 +23,7 @@ return {}; } suspend_never initial_suspend() { return {}; } - suspend_never final_suspend() { return {}; } + suspend_never final_suspend() noexcept { return {}; } void return_void() {} static void unhandled_exception() {} }; diff --git a/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/bool_await_suspend.pass.cpp b/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/bool_await_suspend.pass.cpp --- a/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/bool_await_suspend.pass.cpp +++ b/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/bool_await_suspend.pass.cpp @@ -25,7 +25,7 @@ return coroutine_handle::from_promise(*this); } suspend_never initial_suspend() { return {}; } - suspend_never final_suspend() { return {}; } + suspend_never final_suspend() noexcept { return {}; } void return_void() {} void unhandled_exception() {} }; diff --git a/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/expected.pass.cpp b/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/expected.pass.cpp --- a/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/expected.pass.cpp +++ b/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/expected.pass.cpp @@ -40,7 +40,7 @@ Data* data; DataPtr get_return_object() { data = new Data{}; return {data}; } suspend_never initial_suspend() { return {}; } - suspend_never final_suspend() { return {}; } + suspend_never final_suspend() noexcept { return {}; } void return_value(T v) { data->val = std::move(v); data->error = {};} void unhandled_exception() {} }; diff --git a/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/fullexpr-dtor.pass.cpp b/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/fullexpr-dtor.pass.cpp --- a/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/fullexpr-dtor.pass.cpp +++ b/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/fullexpr-dtor.pass.cpp @@ -45,7 +45,7 @@ struct coro2 { struct promise_type { suspend_never initial_suspend() { return{}; } - suspend_never final_suspend() { return{}; } + suspend_never final_suspend() noexcept { return {}; } coro2 get_return_object() { return{}; } void return_void() {} Bug yield_value(int) { return {}; } diff --git a/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/generator.pass.cpp b/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/generator.pass.cpp --- a/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/generator.pass.cpp +++ b/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/generator.pass.cpp @@ -29,7 +29,7 @@ return {}; } suspend_always initial_suspend() { return {}; } - suspend_always final_suspend() { return {}; } + suspend_always final_suspend() noexcept { return {}; } minig get_return_object() { return minig{this}; }; void return_void() {} void unhandled_exception() {} diff --git a/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/go.pass.cpp b/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/go.pass.cpp --- a/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/go.pass.cpp +++ b/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/go.pass.cpp @@ -46,9 +46,7 @@ suspend_never initial_suspend() { return {}; } - suspend_never final_suspend() { - return {}; - } + suspend_never final_suspend() noexcept { return {}; } void return_void() {} goroutine get_return_object() { return{};