From: Robert Richter robert.richter@linaro.org
These define's may cause conflicts with other definitions:
#define INITIAL 0 #define mem 1 #define config 2 #define event 3
Prefix them with cond_* to avoid this.
Signed-off-by: Robert Richter robert.richter@linaro.org Signed-off-by: Robert Richter rric@kernel.org --- tools/perf/util/parse-events.l | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/tools/perf/util/parse-events.l b/tools/perf/util/parse-events.l index 0790452..435b4e5 100644 --- a/tools/perf/util/parse-events.l +++ b/tools/perf/util/parse-events.l @@ -69,9 +69,9 @@ static int term(yyscan_t scanner, int type)
%}
-%x mem -%s config -%x event +%x cond_mem +%s cond_config +%x cond_event
group [^,{}/]*[{][^}]*[}][^,{}/]* event_pmu [^,{}/]+[/][^/]*[/][^,{}/]* @@ -95,9 +95,9 @@ modifier_bp [rwx]{1,3} start_token = parse_events_get_extra(yyscanner);
if (start_token == PE_START_TERMS) - BEGIN(config); + BEGIN(cond_config); else if (start_token == PE_START_EVENTS) - BEGIN(event); + BEGIN(cond_event);
if (start_token) { parse_events_set_extra(NULL, yyscanner); @@ -106,7 +106,7 @@ modifier_bp [rwx]{1,3} } %}
-<event>{ +<cond_event>{
{group} { BEGIN(INITIAL); yyless(0); @@ -161,7 +161,7 @@ speculative-read|speculative-load | refs|Reference|ops|access | misses|miss { return str(yyscanner, PE_NAME_CACHE_OP_RESULT); }
-<config>{ +<cond_config>{ config { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_CONFIG); } config1 { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_CONFIG1); } config2 { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_CONFIG2); } @@ -173,23 +173,23 @@ branch_type { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_BRANCH_SAMPLE_TYPE {name_minus} { return str(yyscanner, PE_NAME); } }
-mem: { BEGIN(mem); return PE_PREFIX_MEM; } +mem: { BEGIN(cond_mem); return PE_PREFIX_MEM; } r{num_raw_hex} { return raw(yyscanner); } {num_dec} { return value(yyscanner, 10); } {num_hex} { return value(yyscanner, 16); }
{modifier_event} { return str(yyscanner, PE_MODIFIER_EVENT); } {name} { return str(yyscanner, PE_NAME); } -"/" { BEGIN(config); return '/'; } +"/" { BEGIN(cond_config); return '/'; } - { return '-'; } -, { BEGIN(event); return ','; } +, { BEGIN(cond_event); return ','; } : { return ':'; } -"{" { BEGIN(event); return '{'; } +"{" { BEGIN(cond_event); return '{'; } "}" { return '}'; } = { return '='; } \n { }
-<mem>{ +<cond_mem>{ {modifier_bp} { return str(yyscanner, PE_MODIFIER_BP); } : { return ':'; } {num_dec} { return value(yyscanner, 10); }