Fix the unused-function warnings in the output of lex. In particular, we
silence a warning about yyunput being static but unused by exposing it as
a global function. This costs us a few hundred bytes in the binary but
the other available solutions are flex-specific or more complicated.
YY_NO_UNPUT used to silence this but no longer works in recent flex.
On the other hand YY_NO_INPUT does work to silence warnings about input().
Signed-off-by: Peter Maydell <pmaydell@chiark.greenend.org.uk>
#define yywrap() 1
#define YY_SKIP_YYWRAP
-#define YY_NO_UNPUT
+#define YY_NO_INPUT
/* This is the tricky thing that makes this function cool. We
* replace the traditional int yylex(void) declaration with our
{nl}("hdt"|"HDT") { INIT(); SETDST(); SETZONE(-1000);
yyterminate(); }
.|\n
+
+%%
+/* This is a portable way to squash a warning about the yyunput()
+ * function being static but never used. It costs us a tiny amount
+ * of extra code in the binary but the other options are:
+ * "%option nounput" which is flex-specific
+ * makefile hackery just to compile dtimep.c with different flags
+ */
+void dtimep_yyunput(int c)
+{
+ unput(c);
+}
+