[PATCH v2 00/10] perf parse-events: enable more flex/bison warnings

From: Ian Rogers
Date: Fri Jun 19 2020 - 00:34:13 EST


All C compiler warnings are disabled are disabled by -w. This change
removes the -w from flex and bison targets. To avoid implicit
declarations header files are declared as targets and included.

Tested with GCC 9.3.0 and clang 9.0.1.

v2. predicates disabling the warnings on more recent bison and flex
versions (3.5.3 and 2.6.4 respectively). An alternative would be
to disabled a large number of warnings to cover the warnings
generated in older distributions:
flex_flags := -Wno-switch-enum -Wno-switch-default -Wno-unused-function \
-Wno-redundant-decls -Wno-sign-compare -Wno-unused-parameter \
-Wno-missing-prototypes -Wno-misleading-indentation
bison_flags := -DYYENABLE_NLS=0 -Wno-unused-parameter -Wno-nested-externs \
-Wno-implicit-function-declaration -Wno-switch-enum

Previously posted as a single change:
https://lore.kernel.org/lkml/20200609234344.3795-2-irogers@xxxxxxxxxx/

Ian Rogers (10):
perf parse-events: Use automatic variable for flex input
perf parse-events: Use automatic variable for yacc input
perf pmu: Add bison debug build flag
perf pmu: Add flex debug build flag
perf parse-events: Declare flex header file output
perf parse-events: Declare bison header file output
perf parse-events: Disable a subset of flex warnings
perf expr: Avoid implicit lex function declaration
perf parse-events: Avoid implicit lex function declaration
perf parse-events: Disable a subset of bison warnings

tools/perf/util/Build | 62 +++++++++++++++++++++++-----------
tools/perf/util/expr.y | 2 ++
tools/perf/util/parse-events.y | 1 +
3 files changed, 46 insertions(+), 19 deletions(-)

--
2.27.0.111.gc72c7da667-goog