diff mbox series

[C++,coroutines,7/7] libiberty demangler update.

Message ID D44308E2-AFF8-4611-A987-A02E57759B3B@sandoe.co.uk
State New
Headers show
Series None | expand

Commit Message

Iain Sandoe Jan. 11, 2020, 1:30 p.m. UTC
Ian Lance Taylor <ian@airs.com> wrote:

> Iain Sandoe <iain@sandoe.co.uk> writes:

>> 2020-01-09  Iain Sandoe  <iain@sandoe.co.uk>
>> 
>> 	* cp-demangle.c (cplus_demangle_operators): Add the co_await
>> 	operator.
> 
> Please add something to libiberty/testsuite/demangle-expected.  Thanks.

done***,
OK now?
thanks
Iain

*** it seems that the demangle test is broken for x86_64-darwin & linux on trunk
anyway, (I ‘fixed’ it locally to test my patch below; will try to figure out if that fix is
correct and post it if so) - however, that’s unconnected with the coroutines stuff.

======

revised:
----------
    
    The coroutines implementation introduces a new operator with a
    mangling of 'aw'.  This patch adds that to libiberty's demangler.
    
    libiberty/ChangeLog:
    
    2020-01-11  Iain Sandoe  <iain@sandoe.co.uk>
    
            * cp-demangle.c (cplus_demangle_operators): Add the co_await
            operator.
            * testsuite/demangle-expected: Append a test for the co_await
            operator mangling.

Comments

Ian Lance Taylor Jan. 12, 2020, 5:56 a.m. UTC | #1
Iain Sandoe <iain@sandoe.co.uk> writes:

> Ian Lance Taylor <ian@airs.com> wrote:
>
>> Iain Sandoe <iain@sandoe.co.uk> writes:
>
>>> 2020-01-09  Iain Sandoe  <iain@sandoe.co.uk>
>>> 
>>> 	* cp-demangle.c (cplus_demangle_operators): Add the co_await
>>> 	operator.
>> 
>> Please add something to libiberty/testsuite/demangle-expected.  Thanks.
>
> done***,
> OK now?
> thanks
> Iain
>
> *** it seems that the demangle test is broken for x86_64-darwin & linux on trunk
> anyway, (I ‘fixed’ it locally to test my patch below; will try to figure out if that fix is
> correct and post it if so) - however, that’s unconnected with the coroutines stuff.
>
> ======
>
> revised:
> ----------
>     
>     The coroutines implementation introduces a new operator with a
>     mangling of 'aw'.  This patch adds that to libiberty's demangler.
>     
>     libiberty/ChangeLog:
>     
>     2020-01-11  Iain Sandoe  <iain@sandoe.co.uk>
>     
>             * cp-demangle.c (cplus_demangle_operators): Add the co_await
>             operator.
>             * testsuite/demangle-expected: Append a test for the co_await
>             operator mangling.

This is OK.

Thanks.

Ian
diff mbox series

Patch

diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
index 3639bfbfd4..fc55b7fae1 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 5878d96dee..e6a75601e0 100644
--- a/libiberty/testsuite/demangle-expected
+++ b/libiberty/testsuite/demangle-expected
@@ -1450,3 +1450,7 @@  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
+