From 4dfba277487a7023ab9f5783302da4a9b5e9bef8 Mon Sep 17 00:00:00 2001 From: "Jiao, Joey" Date: Wed, 6 Nov 2024 13:41:21 +0800 Subject: all: support || operator in syzlang if condition ex. f3 field has logic or operator in if condition: conditional_struct { mask int32 f1 field1 (if[value[mask] & FIELD_FLAG1]) f2 int64 (if[value[mask] & FIELD_FLAG2]) f3 int64 (if[value[mask] == FIELD_FLAG1 || value[mask] == FIELD_FLAG2]) } [packed] --- pkg/compiler/gen.go | 1 + 1 file changed, 1 insertion(+) (limited to 'pkg/compiler') diff --git a/pkg/compiler/gen.go b/pkg/compiler/gen.go index 891cd1644..104c2899b 100644 --- a/pkg/compiler/gen.go +++ b/pkg/compiler/gen.go @@ -608,6 +608,7 @@ var binaryOperatorMap = map[ast.Operator]prog.BinaryOperator{ ast.OperatorCompareEq: prog.OperatorCompareEq, ast.OperatorCompareNeq: prog.OperatorCompareNeq, ast.OperatorBinaryAnd: prog.OperatorBinaryAnd, + ast.OperatorOr: prog.OperatorOr, } func (comp *compiler) genExpression(t *ast.Type) prog.Expression { -- cgit mrf-deployment