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

Message ID E1B78BD2-BCA8-4E3E-9C95-79290DA7785C@sandoe.co.uk
State New
Headers show
Series
  • Untitled series #21447
Related show

Commit Message

Iain Sandoe Jan. 9, 2020, 12:40 p.m.
Hi Ian,

The coroutines implementation introduces a new operator with a
mangling of 'aw'.  This patch adds that to libiberty's demangler.

Although this is presented as part of the coroutines patch series
it could stand alone, since clang and EDG-based compilers are
already emitting this mangling.

I tested this with a binutils build (using the built c++filt).

OK for trunk?
Iain

libiberty/ChangeLog:

2020-01-09  Iain Sandoe  <iain@sandoe.co.uk>

	* cp-demangle.c (cplus_demangle_operators): Add the co_await
	operator.
---
libiberty/cp-demangle.c | 1 +
1 file changed, 1 insertion(+)

-- 
2.14.3

Comments

Ian Lance Taylor Jan. 9, 2020, 3:32 p.m. | #1
Iain Sandoe <iain@sandoe.co.uk> writes:

> The coroutines implementation introduces a new operator with a

> mangling of 'aw'.  This patch adds that to libiberty's demangler.

>

> Although this is presented as part of the coroutines patch series

> it could stand alone, since clang and EDG-based compilers are

> already emitting this mangling.

>

> I tested this with a binutils build (using the built c++filt).

>

> OK for trunk?

> Iain

>

> libiberty/ChangeLog:

>

> 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.

Ian

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 },