From b014f148a5680e123bae728f1bc6a3dc9ffbf378 Mon Sep 17 00:00:00 2001
From: Nora Abi Akar <nora.abiakar@gmail.com>
Date: Wed, 23 Oct 2019 16:25:30 +0200
Subject: [PATCH] add support for != conditionals (#894)

* Accept `tok::ne` for conditional expressions in modcc, and emit correctly as '!=' in `cexpr_emit`.
---
 modcc/expression.cpp         | 1 +
 modcc/printer/cexpr_emit.cpp | 1 +
 2 files changed, 2 insertions(+)

diff --git a/modcc/expression.cpp b/modcc/expression.cpp
index e90bc3ca..a33e7a76 100644
--- a/modcc/expression.cpp
+++ b/modcc/expression.cpp
@@ -1133,6 +1133,7 @@ expression_ptr binary_expression(Location loc,
             return make_expression<PowBinaryExpression>(
                 loc, std::move(lhs), std::move(rhs)
             );
+        case tok::ne       :
         case tok::lt       :
         case tok::lte      :
         case tok::gt       :
diff --git a/modcc/printer/cexpr_emit.cpp b/modcc/printer/cexpr_emit.cpp
index 49bf4974..26390877 100644
--- a/modcc/printer/cexpr_emit.cpp
+++ b/modcc/printer/cexpr_emit.cpp
@@ -96,6 +96,7 @@ void CExprEmitter::visit(BinaryExpression* e) {
         {tok::gt,       ">"},
         {tok::gte,      ">="},
         {tok::equality, "=="},
+        {tok::ne,       "!="},
         {tok::min,      "min"},
         {tok::max,      "max"},
     };
-- 
GitLab