Merge commit '5b7632331e7551ac202bbaba37c572b96a791c6e'
[bpt/guile.git] / libguile / c-tokenize.lex
index 1d9b40b..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,25 +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);
-
-int yyget_lineno (void);
-FILE *yyget_in (void);
-FILE *yyget_out (void);
-int yyget_leng (void);
-char *yyget_text (void);
-void yyset_lineno (int line_number);
-void yyset_in (FILE * in_str);
-void yyset_out (FILE * out_str);
-int yyget_debug (void);
-void yyset_debug (int  bdebug);
-int yylex_destroy (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;