Filter: make bitwise and, or, xor higher prio than relational expressions
[lttng-tools.git] / src / lib / lttng-ctl / filter / filter-visitor-ir-check-binary-op-nesting.c
index bb9fd12e39950e0702772ef085856016ef659e7b..aa3edd592378ea60c5df4af7895ee6d7e267d805 100644 (file)
@@ -30,6 +30,8 @@
 #include "filter-parser.h"
 #include "filter-ir.h"
 
+#include <common/macros.h>
+
 static
 int check_bin_op_nesting_recursive(struct ir_op *node, int nesting)
 {
@@ -51,16 +53,12 @@ int check_bin_op_nesting_recursive(struct ir_op *node, int nesting)
        {
                int ret;
 
-               if (nesting > 0) {
-                       fprintf(stderr, "[error] Nesting of binary operators is not allowed, except for logical operators.\n");
-                       return -EINVAL;
-               }
                ret = check_bin_op_nesting_recursive(node->u.binary.left,
-                               nesting++);
+                               nesting + 1);
                if (ret)
                        return ret;
                return check_bin_op_nesting_recursive(node->u.binary.right,
-                               nesting++);
+                               nesting + 1);
        }
        case IR_OP_LOGICAL:
        {
@@ -76,7 +74,7 @@ int check_bin_op_nesting_recursive(struct ir_op *node, int nesting)
        }
 }
 
-__attribute__((visibility("hidden")))
+LTTNG_HIDDEN
 int filter_visitor_ir_check_binary_op_nesting(struct filter_parser_ctx *ctx)
 {
        return check_bin_op_nesting_recursive(ctx->ir_root, 0);
This page took 0.025174 seconds and 5 git commands to generate.