From f13157720ef83f2b409f1426e77c4736433030b3 Mon Sep 17 00:00:00 2001 From: "Igor V. Kovalenko" Date: Fri, 20 Jan 2023 01:36:29 +0300 Subject: [PATCH] Add operator name test for c++20 three-way comparison --- .../cdt/core/parser/tests/ast2/AST2CPPTests.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java index 4412e56e151..4a8138fe0c8 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java @@ -4181,6 +4181,18 @@ public class AST2CPPTests extends AST2CPPTestBase { assertEquals(col.getName(158).toString(), "operator >"); } + // struct C { + // auto operator<=>(const C&); + // }; + public void testThreeWayComparisonOperatorName() throws Exception { + IASTTranslationUnit tu = parse(getAboveComment(), CPP, ScannerKind.STDCPP20); + NameCollector col = new NameCollector(); + tu.accept(col); + + assertEquals(col.size(), 4); + assertEquals(col.getName(1).toString(), "operator <=>"); + } + // typedef int I; // typedef int I; // typedef I I;