aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2020-04-23 15:36:29 +0100
committerIain Sandoe <iain@sandoe.co.uk>2020-04-23 16:27:29 +0100
commitdcf69ac5448fd6a16137cfe9fe6deadd0ec0243d (patch)
tree0cf76eaa017030c8ef79324f06e6fcc391f43d6c
parentf7e4641afba7c348a7e7c8655e537a953c416bb3 (diff)
downloadgcc-dcf69ac5448fd6a16137cfe9fe6deadd0ec0243d.zip
gcc-dcf69ac5448fd6a16137cfe9fe6deadd0ec0243d.tar.gz
gcc-dcf69ac5448fd6a16137cfe9fe6deadd0ec0243d.tar.bz2
coroutines, libstdc++-v3: Update to n4861 C++20 DIS.
Update the inline namespace to __n4861. Add '__cpp_lib_coroutine' defined to 201902L per n4861. libstdc++-v3/ChangeLog: 2020-04-23 Iain Sandoe <iain@sandoe.co.uk> * include/std/coroutine: Update the inline namespace to __n4861. Add the __cpp_lib_coroutine define, set to 201902L. * include/std/version: Add __cpp_lib_coroutine, set to 201902L. gcc/testsuite/ChangeLog: 2020-04-23 Iain Sandoe <iain@sandoe.co.uk> * g++.dg/coroutines/coro-bad-alloc-00-bad-op-new.C: Adjust for changed inline namespace. * g++.dg/coroutines/coro-bad-alloc-01-bad-op-del.C: Likewise. * g++.dg/coroutines/coro-bad-alloc-02-no-op-new-nt.C: Likewise * g++.dg/coroutines/coro.h: Likewise
-rw-r--r--gcc/testsuite/ChangeLog8
-rw-r--r--gcc/testsuite/g++.dg/coroutines/coro-bad-alloc-00-bad-op-new.C2
-rw-r--r--gcc/testsuite/g++.dg/coroutines/coro-bad-alloc-01-bad-op-del.C2
-rw-r--r--gcc/testsuite/g++.dg/coroutines/coro-bad-alloc-02-no-op-new-nt.C2
-rw-r--r--gcc/testsuite/g++.dg/coroutines/coro.h4
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/include/std/coroutine9
-rw-r--r--libstdc++-v3/include/std/version3
8 files changed, 28 insertions, 8 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 15e7d9e..cb21f55 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2020-04-23 Iain Sandoe <iain@sandoe.co.uk>
+
+ * g++.dg/coroutines/coro-bad-alloc-00-bad-op-new.C: Adjust for
+ changed inline namespace.
+ * g++.dg/coroutines/coro-bad-alloc-01-bad-op-del.C: Likewise.
+ * g++.dg/coroutines/coro-bad-alloc-02-no-op-new-nt.C: Likewise
+ * g++.dg/coroutines/coro.h: Likewise
+
2020-04-23 Szabolcs Nagy <szabolcs.nagy@arm.com>
PR target/94697
diff --git a/gcc/testsuite/g++.dg/coroutines/coro-bad-alloc-00-bad-op-new.C b/gcc/testsuite/g++.dg/coroutines/coro-bad-alloc-00-bad-op-new.C
index 1fdce1d..06543a9 100644
--- a/gcc/testsuite/g++.dg/coroutines/coro-bad-alloc-00-bad-op-new.C
+++ b/gcc/testsuite/g++.dg/coroutines/coro-bad-alloc-00-bad-op-new.C
@@ -6,7 +6,7 @@
#include "coro1-allocators.h"
struct coro1
-f () /* { dg-error {'operator new' is provided by 'std::__n4835::coroutine_traits<coro1>::promise_type' \{aka 'coro1::promise_type'\} but is not usable with the function signature 'coro1 f\(\)'} } */
+f () /* { dg-error {'operator new' is provided by 'std::__n4861::coroutine_traits<coro1>::promise_type' \{aka 'coro1::promise_type'\} but is not usable with the function signature 'coro1 f\(\)'} } */
{
co_return;
}
diff --git a/gcc/testsuite/g++.dg/coroutines/coro-bad-alloc-01-bad-op-del.C b/gcc/testsuite/g++.dg/coroutines/coro-bad-alloc-01-bad-op-del.C
index be80479..9a4ec34 100644
--- a/gcc/testsuite/g++.dg/coroutines/coro-bad-alloc-01-bad-op-del.C
+++ b/gcc/testsuite/g++.dg/coroutines/coro-bad-alloc-01-bad-op-del.C
@@ -6,7 +6,7 @@
#include "coro1-allocators.h"
struct coro1
-f () /* { dg-error {'operator delete' is provided by 'std::__n4835::coroutine_traits<coro1>::promise_type' \{aka 'coro1::promise_type'\} but is not usable with the function signature 'coro1 f\(\)'} } */
+f () /* { dg-error {'operator delete' is provided by 'std::__n4861::coroutine_traits<coro1>::promise_type' \{aka 'coro1::promise_type'\} but is not usable with the function signature 'coro1 f\(\)'} } */
{
co_return;
}
diff --git a/gcc/testsuite/g++.dg/coroutines/coro-bad-alloc-02-no-op-new-nt.C b/gcc/testsuite/g++.dg/coroutines/coro-bad-alloc-02-no-op-new-nt.C
index eae2dad..c0c0792 100644
--- a/gcc/testsuite/g++.dg/coroutines/coro-bad-alloc-02-no-op-new-nt.C
+++ b/gcc/testsuite/g++.dg/coroutines/coro-bad-alloc-02-no-op-new-nt.C
@@ -9,7 +9,7 @@
#include "coro1-allocators.h"
struct coro1
-f () /* { dg-error {'coro1::promise_type::get_return_object_on_allocation_failure\(\)\(\)' is provided by 'std::__n4835::coroutine_traits<coro1>::promise_type' \{aka 'coro1::promise_type'\} but 'operator new' is not marked 'throw\(\)' or 'noexcept'} } */
+f () /* { dg-error {'coro1::promise_type::get_return_object_on_allocation_failure\(\)\(\)' is provided by 'std::__n4861::coroutine_traits<coro1>::promise_type' \{aka 'coro1::promise_type'\} but 'operator new' is not marked 'throw\(\)' or 'noexcept'} } */
{
co_return;
}
diff --git a/gcc/testsuite/g++.dg/coroutines/coro.h b/gcc/testsuite/g++.dg/coroutines/coro.h
index a1bd38b..fccfe41 100644
--- a/gcc/testsuite/g++.dg/coroutines/coro.h
+++ b/gcc/testsuite/g++.dg/coroutines/coro.h
@@ -32,7 +32,7 @@ namespace coro = std::experimental;
# if __cpp_impl_coroutine
namespace std {
-inline namespace __n4835 {
+inline namespace __n4861 {
// 21.11.1 coroutine traits
template<typename _R, typename...> struct coroutine_traits {
@@ -125,7 +125,7 @@ struct suspend_never {
void await_resume() {}
};
-} // namespace __n4835
+} // namespace __n4861
} // namespace std
namespace coro = std;
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index fb0c1ac..b5dc52c 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2020-04-23 Iain Sandoe <iain@sandoe.co.uk>
+
+ * include/std/coroutine: Update the inline namespace to __n4861.
+ Add the __cpp_lib_coroutine define, set to 201902L.
+ * include/std/version: Add __cpp_lib_coroutine, set to 201902L.
+
2020-04-22 Jonathan Wakely <jwakely@redhat.com>
* include/std/execution (__cpp_lib_execution): Define to indicate
diff --git a/libstdc++-v3/include/std/coroutine b/libstdc++-v3/include/std/coroutine
index 2e45c45..4fa1355 100644
--- a/libstdc++-v3/include/std/coroutine
+++ b/libstdc++-v3/include/std/coroutine
@@ -52,10 +52,13 @@
namespace std _GLIBCXX_VISIBILITY (default)
{
- _GLIBCXX_BEGIN_NAMESPACE_VERSION
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
#if __cpp_impl_coroutine
- inline namespace __n4835 {
+
+#define __cpp_lib_coroutine 201902L
+
+ inline namespace __n4861 {
// 17.12.2 coroutine traits
/// [coroutine.traits]
@@ -277,7 +280,7 @@ namespace std _GLIBCXX_VISIBILITY (default)
void await_resume() {}
};
- } // namespace __n4835
+ } // namespace __n4861
#else
#error "the coroutine header requires -fcoroutines"
diff --git a/libstdc++-v3/include/std/version b/libstdc++-v3/include/std/version
index 3024f1c..d06d60c 100644
--- a/libstdc++-v3/include/std/version
+++ b/libstdc++-v3/include/std/version
@@ -69,6 +69,9 @@
#if __cplusplus >= 201402L
// c++14
+#if __cpp_impl_coroutine
+# define __cpp_lib_coroutine 201902L
+#endif
#define __cpp_lib_integral_constant_callable 201304
#define __cpp_lib_is_final 201402L
#define __cpp_lib_transformation_trait_aliases 201304