[PATCH 25/59] perf tools: Add loc_term and loc_val helpers to parse_events_term__num
From: Jiri Olsa <hidden>
Date: 2021-11-08 13:39:59
Subsystem:
performance events subsystem, the rest · Maintainers:
Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Namhyung Kim, Linus Torvalds
Move out bison specific code out of parse_events_term__num. Signed-off-by: Jiri Olsa <jolsa@kernel.org> --- tools/perf/util/parse-events.c | 11 ++++------- tools/perf/util/parse-events.h | 2 +- tools/perf/util/parse-events.y | 13 +++++++------ 3 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
index cf46930750b5..c36657d906ce 100644
--- a/tools/perf/util/parse-events.c
+++ b/tools/perf/util/parse-events.c@@ -1714,7 +1714,7 @@ int parse_events_multi_pmu_add(struct parse_events_state *parse_state, if (parse_events_term__num(&term, PARSE_EVENTS__TERM_TYPE_USER, - config, 1, false, NULL, NULL) < 0) { + config, 1, false, 0, 0) < 0) { free(config); goto out_err; }
@@ -3191,18 +3191,15 @@ static int new_term(struct parse_events_term **_term, int parse_events_term__num(struct parse_events_term **term, int type_term, char *config, u64 num, bool no_value, - void *loc_term_, void *loc_val_) + int loc_term, int loc_val) { - YYLTYPE *loc_term = loc_term_; - YYLTYPE *loc_val = loc_val_; - struct parse_events_term temp = { .type_val = PARSE_EVENTS__TERM_TYPE_NUM, .type_term = type_term, .config = config ? : strdup(config_term_names[type_term]), .no_value = no_value, - .err_term = loc_term ? loc_term->first_column : 0, - .err_val = loc_val ? loc_val->first_column : 0, + .err_term = loc_term, + .err_val = loc_val, }; return new_term(term, &temp, NULL, num);
diff --git a/tools/perf/util/parse-events.h b/tools/perf/util/parse-events.h
index 0590f613a38c..29ea37808d32 100644
--- a/tools/perf/util/parse-events.h
+++ b/tools/perf/util/parse-events.h@@ -155,7 +155,7 @@ int parse_events__is_hardcoded_term(struct parse_events_term *term); int parse_events_term__num(struct parse_events_term **term, int type_term, char *config, u64 num, bool novalue, - void *loc_term, void *loc_val); + int loc_term, int loc_val); int parse_events_term__str(struct parse_events_term **term, int type_term, char *config, char *str, int loc_term, int loc_val);
diff --git a/tools/perf/util/parse-events.y b/tools/perf/util/parse-events.y
index 76b089c572af..e62a7a3bf6b2 100644
--- a/tools/perf/util/parse-events.y
+++ b/tools/perf/util/parse-events.y@@ -787,7 +787,7 @@ PE_RAW struct parse_events_term *term; ABORT_ON(parse_events_term__num(&term, PARSE_EVENTS__TERM_TYPE_CONFIG, - NULL, $1, false, &@1, NULL)); + NULL, $1, false, loc_term(&@1), 0)); $$ = term; } |
@@ -809,7 +809,7 @@ PE_NAME '=' PE_VALUE struct parse_events_term *term; if (parse_events_term__num(&term, PARSE_EVENTS__TERM_TYPE_USER, - $1, $3, false, &@1, &@3)) { + $1, $3, false, loc_term(&@1), loc_val(&@3))) { free($1); YYABORT; }
@@ -833,7 +833,7 @@ PE_NAME struct parse_events_term *term; if (parse_events_term__num(&term, PARSE_EVENTS__TERM_TYPE_USER, - $1, 1, true, &@1, NULL)) { + $1, 1, true, loc_term(&@1), 0)) { free($1); YYABORT; }
@@ -865,7 +865,8 @@ PE_TERM '=' PE_VALUE { struct parse_events_term *term; - ABORT_ON(parse_events_term__num(&term, (int)$1, NULL, $3, false, &@1, &@3)); + ABORT_ON(parse_events_term__num(&term, (int)$1, NULL, $3, false, + loc_term(&@1), loc_val(&@3))); $$ = term; } |
@@ -873,7 +874,7 @@ PE_TERM { struct parse_events_term *term; - ABORT_ON(parse_events_term__num(&term, (int)$1, NULL, 1, true, &@1, NULL)); + ABORT_ON(parse_events_term__num(&term, (int)$1, NULL, 1, true, loc_term(&@1), 0)); $$ = term; } |
@@ -897,7 +898,7 @@ PE_NAME array '=' PE_VALUE struct parse_events_term *term; if (parse_events_term__num(&term, PARSE_EVENTS__TERM_TYPE_USER, - $1, $4, false, &@1, &@4)) { + $1, $4, false, loc_term(&@1), loc_val(&@4))) { free($1); free($2.ranges); YYABORT;
--
2.31.1