X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Flib%2Flttng-ctl%2Ffilter-parser.y;h=ea433522d02962f9ab78622a19b0d03bf901bf3a;hb=01d0a631703bd1249ed3ef3e2b1f523f31e08852;hp=30c208ab15ccaf6095527df50d7cee012ae4896b;hpb=953192ba6eb2118c22bcfcb4bcd813f141b407e7;p=lttng-tools.git diff --git a/src/lib/lttng-ctl/filter-parser.y b/src/lib/lttng-ctl/filter-parser.y index 30c208ab1..ea433522d 100644 --- a/src/lib/lttng-ctl/filter-parser.y +++ b/src/lib/lttng-ctl/filter-parser.y @@ -29,8 +29,8 @@ #include #include #include -#include "filter-parser.h" #include "filter-ast.h" +#include "filter-parser.h" int yydebug; int filter_parser_debug = 0; @@ -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);