[gcc(refs/vendors/ARM/heads/arm-struct-reorg-wip)] demangler: Handle <=> operator in the demangler [PR94797]

Tamar Christina tnfchris@gcc.gnu.org
Fri Jul 17 14:48:01 GMT 2020


https://gcc.gnu.org/g:76458c912b0cdda59e094fa64b98aea9ffee214a

commit 76458c912b0cdda59e094fa64b98aea9ffee214a
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Mon Apr 27 20:59:25 2020 +0200

    demangler: Handle <=> operator in the demangler [PR94797]
    
    The demangler didn't handle spaceship operator.
    
    2020-04-27  Jakub Jelinek  <jakub@redhat.com>
    
            PR demangler/94797
            * cp-demangle.c (cplus_demangle_operators): Add ss <=> operator.
            * testsuite/demangle-expected: Add operator<=> test.

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

diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 0c26d455caf..3b61aaca93c 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,9 @@
+2020-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR demangler/94797
+	* cp-demangle.c (cplus_demangle_operators): Add ss <=> operator.
+	* testsuite/demangle-expected: Add operator<=> test.
+
 2020-04-25  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR bootstrap/94739
diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
index fc55b7fae1f..cbfb2f937ca 100644
--- a/libiberty/cp-demangle.c
+++ b/libiberty/cp-demangle.c
@@ -1860,6 +1860,7 @@ const struct demangle_operator_info cplus_demangle_operators[] =
   { "sP", NL ("sizeof..."), 1 },
   { "sZ", NL ("sizeof..."), 1 },
   { "sc", NL ("static_cast"), 2 },
+  { "ss", NL ("<=>"),       2 },
   { "st", NL ("sizeof "),   1 },
   { "sz", NL ("sizeof "),   1 },
   { "tr", NL ("throw"),     0 },
diff --git a/libiberty/testsuite/demangle-expected b/libiberty/testsuite/demangle-expected
index ccadf84e608..d8e50951f84 100644
--- a/libiberty/testsuite/demangle-expected
+++ b/libiberty/testsuite/demangle-expected
@@ -1453,3 +1453,6 @@ void foo<(void*)0>(enable_if<((void*)0)==(decltype(nullptr)), void>::type*)
 
 _ZNK5coro15emptyawEv
 coro1::empty::operator co_await() const
+
+_ZNK3FoossERKS_
+Foo::operator<=>(Foo const&) const


More information about the Gcc-cvs mailing list