Build fix: filter parser fails to build with -Werror
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 3 Feb 2023 18:59:23 +0000 (13:59 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Mon, 6 Feb 2023 16:30:54 +0000 (11:30 -0500)
Using bison 3.8.2 and clang 15.0.7, the project fails to build with
-Werror as building the generated parser results in the following
warning:

  CXX      filter/libfilter_la-filter-parser.lo
  filter/filter-parser.cpp:1552:9: error: variable 'yynerrs' set but not used [-Werror,-Wunused-but-set-variable]
      int yynerrs = 0;
          ^

A pragma directive is inserted to silence the warning and allow the
build to go through.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I4c46a5df91bdeca6ad4e2a8ff7f2a98ee94c4f1d

src/common/filter/filter-parser.ypp

index 0f11c234d6197f30ab3b9cea48ea749bf6697fbe..fedf0e830b433685830acbe6ea1694432874c71d 100644 (file)
 #define WIDTH_x64_SCANF_IS_A_BROKEN_API        "17"
 #define WIDTH_lg_SCANF_IS_A_BROKEN_API "4096"  /* Hugely optimistic approximation */
 
+/*
+ * bison 3.8.2 produces a parser with unused, but set, which results in warnings
+ * at build time.
+ */
+#ifdef __clang__
+#pragma clang diagnostic ignored "-Wunused-but-set-variable"
+#endif /* __clang__ */
+
 #ifdef DEBUG
 static const int print_xml = 1;
 #define dbg_printf(fmt, args...)       \
This page took 0.026211 seconds and 4 git commands to generate.