From 97dccc2c1ed840e2ac8db79fc2b97c1c67f413e3 Mon Sep 17 00:00:00 2001 From: "Igor V. Kovalenko" Date: Sat, 21 Jan 2023 00:24:07 +0300 Subject: [PATCH] Fix precedence for c++20 three-way comparison operator --- .../cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java index 82a767c2273..c85bad81c44 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java @@ -1106,7 +1106,6 @@ private ICPPASTExpression expression(final ExprKind kind, final BinaryExprCtx ct break; case IToken.tEQUAL: case IToken.tNOTEQUAL: - case IToken.tTHREEWAYCOMPARISON: lastOperator = new BinaryOperator(lastOperator, expr, lt1, 80, 81); break; case IToken.tGT: @@ -1122,6 +1121,9 @@ private ICPPASTExpression expression(final ExprKind kind, final BinaryExprCtx ct case IGCCToken.tMIN: lastOperator = new BinaryOperator(lastOperator, expr, lt1, 90, 91); break; + case IToken.tTHREEWAYCOMPARISON: + lastOperator = new BinaryOperator(lastOperator, expr, lt1, 95, 96); + break; case IToken.tGT_in_SHIFTR: if (ctx == BinaryExprCtx.eInTemplateID) { doneExpression = true;