Messages in this thread Patch in this message | | | Date | Thu, 12 Nov 2020 16:16:48 -0800 | Subject | [PATCH 2/5] perf metric: Use NAN for missing event IDs. | From | Ian Rogers <> |
| |
If during computing a metric an event (id) is missing the parsing aborts. A later patch will make it so that events that aren't used in the output are deliberately omitted, in which case we don't want the abort. Modify the missing ID case to report NAN for these cases.
Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/util/expr.y | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/perf/util/expr.y b/tools/perf/util/expr.y index d34b370391c6..4ce76adeb337 100644 --- a/tools/perf/util/expr.y +++ b/tools/perf/util/expr.y @@ -1,6 +1,7 @@ /* Simple expression parser */ %{ #define YYDEBUG 1 +#include <math.h> #include <stdio.h> #include "util.h" #include "util/debug.h" @@ -89,8 +90,7 @@ expr: NUMBER struct expr_id_data *data; if (expr__resolve_id(ctx, $1, &data)) { - free($1); - YYABORT; + $$ = NAN; } $$ = data->val; -- 2.29.2.299.gdc1121823c-goog
| |