perf parse-events: Remove ABORT_ON
Prefer informative messages rather than none with ABORT_ON. Document one failure mode and add an error message for another. Signed-off-by: Ian Rogers <irogers@google.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: bpf@vger.kernel.org Link: https://lore.kernel.org/r/20230627181030.95608-14-irogers@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
81a4e31f8c
commit
4c11adff67
|
@ -22,12 +22,6 @@
|
|||
|
||||
void parse_events_error(YYLTYPE *loc, void *parse_state, void *scanner, char const *msg);
|
||||
|
||||
#define ABORT_ON(val) \
|
||||
do { \
|
||||
if (val) \
|
||||
YYABORT; \
|
||||
} while (0)
|
||||
|
||||
#define PE_ABORT(val) \
|
||||
do { \
|
||||
if (val == -ENOMEM) \
|
||||
|
@ -618,7 +612,9 @@ PE_RAW opt_event_config
|
|||
YYNOMEM;
|
||||
errno = 0;
|
||||
num = strtoull($1 + 1, NULL, 16);
|
||||
ABORT_ON(errno);
|
||||
/* Given the lexer will only give [a-fA-F0-9]+ a failure here should be impossible. */
|
||||
if (errno)
|
||||
YYABORT;
|
||||
free($1);
|
||||
err = parse_events_add_numeric(_parse_state, list, PERF_TYPE_RAW, num, $2,
|
||||
/*wildcard=*/false);
|
||||
|
@ -978,7 +974,17 @@ PE_VALUE PE_ARRAY_RANGE PE_VALUE
|
|||
{
|
||||
struct parse_events_array array;
|
||||
|
||||
ABORT_ON($3 < $1);
|
||||
if ($3 < $1) {
|
||||
struct parse_events_state *parse_state = _parse_state;
|
||||
struct parse_events_error *error = parse_state->error;
|
||||
char *err_str;
|
||||
|
||||
if (asprintf(&err_str, "Expected '%ld' to be less-than '%ld'", $3, $1) < 0)
|
||||
err_str = NULL;
|
||||
|
||||
parse_events_error__handle(error, @1.first_column, err_str, NULL);
|
||||
YYABORT;
|
||||
}
|
||||
array.nr_ranges = 1;
|
||||
array.ranges = malloc(sizeof(array.ranges[0]));
|
||||
if (!array.ranges)
|
||||
|
|
Loading…
Reference in New Issue