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-irog...@google.com/

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

Reply via email to