[gcc(refs/users/marxin/heads/marxin-gcc-benchmark-branch)] [libiberty] Update demangler to handle co_await operator.

Martin Liska marxin@gcc.gnu.org
Mon Mar 30 10:14:56 GMT 2020


https://gcc.gnu.org/g:7ebbff3acbe627c9286e2daed7751e6e6c8684e6

commit 7ebbff3acbe627c9286e2daed7751e6e6c8684e6
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Wed Dec 4 11:39:38 2019 +0000

    [libiberty] Update demangler to handle co_await operator.
    
    C++20 coroutines introduces a new operator with a mangling of 'aw'.
    This patch adds that to libiberty's demangler.
    
    libiberty/ChangeLog:
    
    2020-01-18  Iain Sandoe  <iain@sandoe.co.uk>
    
            * cp-demangle.c (cplus_demangle_operators): Add the co_await
            operator.
            * testsuite/demangle-expected: Test co_await operator mangling.

Diff:
---
 libiberty/cp-demangle.c               | 1 +
 libiberty/testsuite/demangle-expected | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
index 3639bfbfd43..fc55b7fae1f 100644
--- a/libiberty/cp-demangle.c
+++ b/libiberty/cp-demangle.c
@@ -1802,6 +1802,7 @@ const struct demangle_operator_info cplus_demangle_operators[] =
   { "ad", NL ("&"),         1 },
   { "an", NL ("&"),         2 },
   { "at", NL ("alignof "),   1 },
+  { "aw", NL ("co_await "), 1 },
   { "az", NL ("alignof "),   1 },
   { "cc", NL ("const_cast"), 2 },
   { "cl", NL ("()"),        2 },
diff --git a/libiberty/testsuite/demangle-expected b/libiberty/testsuite/demangle-expected
index 5878d96dee3..daffe782112 100644
--- a/libiberty/testsuite/demangle-expected
+++ b/libiberty/testsuite/demangle-expected
@@ -1450,3 +1450,6 @@ Foo<int>()::{lambda(auto:1)#1}::operator()<char>(char) const::X::fn
 
 _Z3fooILPv0EEvPN9enable_ifIXeqT_LDnEEvE4typeE
 void foo<(void*)0>(enable_if<((void*)0)==((decltype(nullptr))), void>::type*)
+
+_ZNK5coro15emptyawEv
+coro1::empty::operator co_await() const


More information about the Gcc-cvs mailing list