Merge commit '5b7632331e7551ac202bbaba37c572b96a791c6e'
[bpt/guile.git] / libguile / c-tokenize.lex
index cb5d239..03fe989 100644 (file)
@@ -1,3 +1,14 @@
+%top{
+/* Include <config.h> before anything else because Gnulib headers such
+   as <stdio.h> rely on it.
+
+   However, when cross-compiling, don't include <config.h> because it
+   contains information about the host, not about the build.  */
+#ifndef CROSS_COMPILING
+# include <config.h>
+#endif
+}
+
 %option noyywrap
 %option nounput
 %pointer
@@ -14,13 +25,15 @@ FLOQUAL             (f|F|l|L)
 INTQUAL                (l|L|ll|LL|lL|Ll|u|U)
 
 %{
-    
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 
-int yylex(void);
-  
+/* Prevent compilation of static input() function in generated scanner
+   code.  This function is never actually used, and GCC 4.3 will emit
+   an error for that. */
+#define YY_NO_INPUT
+
 int filter_snarfage = 0;
 int print = 1;