X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Flib%2Flttng-ctl%2Ffilter-parser.y;h=d6f00a095e35f934019145a28dcd94ebe2cdd21d;hp=30c208ab15ccaf6095527df50d7cee012ae4896b;hb=e90d856165cc1110ac0d4c657a001c47236d6de8;hpb=53a80697a772bc2e260e3dff006f910be6709f04;ds=sidebyside diff --git a/src/lib/lttng-ctl/filter-parser.y b/src/lib/lttng-ctl/filter-parser.y index 30c208ab1..d6f00a095 100644 --- a/src/lib/lttng-ctl/filter-parser.y +++ b/src/lib/lttng-ctl/filter-parser.y @@ -287,7 +287,7 @@ void filter_parser_ctx_free(struct filter_parser_ctx *parser_ctx) %start translation_unit %token CHARACTER_CONSTANT_START SQUOTE STRING_LITERAL_START DQUOTE %token ESCSEQ CHAR_STRING_TOKEN -%token DECIMAL_CONSTANT OCTAL_CONSTANT HEXADECIMAL_CONSTANT +%token DECIMAL_CONSTANT OCTAL_CONSTANT HEXADECIMAL_CONSTANT FLOAT_CONSTANT %token LSBRAC RSBRAC LPAREN RPAREN LBRAC RBRAC RARROW %token STAR PLUS MINUS %token MOD_OP DIV_OP RIGHT_OP LEFT_OP @@ -390,6 +390,13 @@ primary_expression sscanf(yylval.gs->s, "0x%" PRIx64, &$$->u.expression.u.constant); } + | FLOAT_CONSTANT + { + $$ = make_node(parser_ctx, NODE_EXPRESSION); + $$->u.expression.type = AST_EXP_FLOAT_CONSTANT; + sscanf(yylval.gs->s, "%lg", + &$$->u.expression.u.float_constant); + } | STRING_LITERAL_START DQUOTE { $$ = make_node(parser_ctx, NODE_EXPRESSION);